实验代码:
import torch
from torch import nn
input=torch.randn(3,3)
print(input)
sm=nn.Softmax(dim=1)
loss1=torch.nn.NLLLoss()
target=torch.tensor([0,2,1])
print(loss1(torch.log(sm(input)),target))
loss2=torch.nn.CrossEntropyLoss()
print(loss2(input,target))
实验结果:
tensor(1.6964)
tensor(1.6964)
结论:
CrossEntropyLoss = softmax + log + NLLLoss

本文通过实验代码展示了PyTorch中CrossEntropyLoss的实际应用,并解释了其等价于Softmax、Log和NLLLoss的组合。通过对比实验结果,深入理解CrossEntropyLoss的计算原理。
6746

被折叠的 条评论
为什么被折叠?



