nn.NLLLoss()的参数是经过logsoftmax加工的,而CrossEntropyLoss的是原始输出数据
-
target = torch.tensor([1, 2])
-
entropy_out = F.cross_entropy(data, target)
-
nll_out = F.nll_loss(log_soft, target)
-
注意这里的代价函数的特点,无论是采用cross_entropy 还是nll_loss,预测结果与目标值都看起来是两路数据。但是并不影响梯度求导更新过程,最终调整成预测与target目标函数越来越接近