nn.CrossEntropyLoss()中的计算方法:
原公式为:
loss = -(y1logp1 + y2logp2 + y3logp3 + … + ynlogpn)
y1, y2, …,yn为ground-truth标签,
p1, p2, …, pn为prediction
计算时,y3=1, 其他类别的标签=0, 原公式等同于:
loss = -logp3
可以看到:
真实标签被处理为one-hot型
交叉熵公式的计算已经包含了softmax,因此网络中以及网络得到的结果不再需要进行softmax