非常感谢大佬指点,贴出我的代码,供大家参考,改进在这句话上 loss = loss_function(pred+1e-8, labels.to(device)),传入一个极小值pred+1e-8,保证预测值不会为0
pred = model(images.to(device))
#加入一个极小值,RuntimeError: Function 'LogSoftmaxBackward0' returned nan values in its 0th output.
loss = loss_function(pred+1e-8, labels.to(device))
print('loss=',loss)
loss.backward()
pytorch训练时前一次迭代的loss正常后一次迭代却报nan问题描述:训练一个有四个阶段模型的网络(可以简单理解每一阶段就是一个卷积层),每阶段输出都会进行loss计算。现将pytorch原始的ce loss改为focal loss后...