添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Referente ao curso Treinando uma Rede Neural: Deep Learning com PyTorch , no capítulo Otimização e Taxa de Aprendizado e atividade Projeto da aula anterior

Acredito que deve ser algum erro de versão ou alguma implementação nova que teve no pytorch, pois não estou conseguindo fazer rodas nem o script ipynb que baixei do repositório da aula de Funções de perda. Apresenta o seguinte erro

loss = criterion(pred, yTns)

Oii, Willian! Como vai?

No erro apresentado na imagem, " 'nll_loss_forward_reduce_cuda_kernel_2d_index' not implemented for 'Int' ", indica que os dados de entrada para a função de perda não estão no tipo correto.

No PyTorch, a função CrossEntropyLoss espera que os rótulos ( target ) estejam em um tensor de tipo LongTensor (inteiros de 64 bits). Se os rótulos estiverem em um tipo diferente, como IntTensor (inteiros de 32 bits), você encontrará esse tipo de erro.

Como sugestão, converta os rótulos para LongTensor , utilizando o método .long() . Além disso, verifique o tipo de dados dos rótulos, utilizando o método .dtype no tensor de rótulos.

As páginas linkadas acima podem abrir em Inglês, caso não se sinta confortável com o idioma, clique com o botão direito do mouse em qualquer canto da página e escolha a opção Traduzir para o português .

Deixo também o notebook disponibilizado pela pessoa Instrutora para que você possa comparar o seu código.

Espero que as sugestões te ajude. Qualquer dúvida, conte conosco.

Bons estudos, Willian!