因此,通常可以使用 PyTorch 中的交叉熵损失函数或通过将 logsoftmax 与负对数似然函数相结合来应用分类交叉熵,如下所示:
m = nn.LogSoftmax(dim=1)
loss = nn.NLLLoss()
pred = torch.tensor([[-1,0,3,0,9,0,-7,0,5]], requires_grad=True, dtype=torch.float)
target = torch.tensor([4])
output = loss(m(pred), target)
print(output)
事情是。如果输出的数据已经处于具有变量 pred 已经具有概率的概率状态,该怎么办。数据显示如下:
pred = torch.tensor([[.25,0,0,0,.5,0,0,.25,0]], requires_grad=True, dtype=torch.float)
那么如何在 PyTorch 中完成交叉熵呢?