1
resposta

[Bug] Erro na Dimensão

UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.

Estava tendo o mesmo problema do colega que postou mas ficou sem resposta, conforme mensagem acima.

Depois de pesquisar bastante, descobri que o erro estava relacionado ao tipo de dados de Ytns. No meu caso estava retornando "torch.int32" e deveria ser do tipo torch.long, que é o tipo de dados esperado para os rótulos quando se usa nn.CrossEntropyLoss(). Estranhei pois no vídeo já sai no formato correto. Então bastou converter o valor usando torch.long: , você pode converter usando: Ytns = torch.from_numpy(target).long() ("Se puderem me dar uma luz do porque na minha máquina poderia estar saindo em outro formato agradeço!!!)

Outra situação que pude observar é quanto ao uso do softmax: output = self.softmax(self.out(feature))

Quando você usa nn.CrossEntropyLoss(), não seria necessário aplicar novamente a função softmax às saídas do modelo, pois nn.CrossEntropyLoss() já faz isso internamente. Isso significa que a linha: output = "self.softmax(self.out(feature))" poderia ser alterada simplesmente para "output = self.out(feature)".

Uma outra questão que está diretamente vinculada a mensagem de erro, mas que não interfere na execução é também quanto ao uso do softmax.

O aviso Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument. está relacionado à forma como foi recomendado no vídeo a chamada da função softmax. A função softmax aplicada a um tensor de entrada, exige que se especifique a dimensão. A falta dessa especificação era permitida em versões anteriores do PyTorch, mas agora é considerada obsoleta.

Conto com a colaboração se fiz as interpretações corretas na documentação, mas pelo menos agora rodou por aqui como esperado... rsrrssrr

Abraço!

1 resposta

Olá Ricardo, tudo bem com você?

Você é sempre bem dedicado e certeiro em suas análises. Obrigado mais uma vez por compartilhar com a comunidade Alura seu conhecimento.

Continue praticando e conte com a Alura nesta jornada. Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software