pytorch训练损失为NAN(NLLLoss)

在训练分类网络的时候经常使用NLLLoss作为损失函数。并且对于网络的输出有out=F.log_softmax(x)。由于刚开始训练不太稳定。很容易出现loss=nan。这是由于在计算log_softmax()时容易出现log0的情况:
解决方法:
out=F.log_softmax(x+1e-10)给x添加一个很小的数。

你可能感兴趣的:(pytorch,深度学习,人工智能)