返回值=(各张图片的损失值之和/图片数量),也就是各个图片的损失求平均
以下代码模拟计算第一张图片的损失
x = torch.tensor([0.1, 0.2, 0.3])
y = torch.tensor([1])
x = torch.reshape(x, (1, 3))
loss_cross = nn.CrossEntropyLoss()
result_cross = loss_cross(x, y)
print(result_cross)
以下代码模拟计算第二张图片的损失 x = torch.tensor([3.2, 0.6, 0.9]) y = torch.tensor([1]) x = torch.reshape(x, (1, 3)) loss_cross = nn.CrossEntropyLoss() result_cross = loss_cross(x, y) print(result_cross)
以下代码模拟计算两张图片一起求loss的损失
x = torch.tensor([[0.1, 0.2, 0.3], [3.2, 0.6, 0.9]]) y = torch.tensor([1,1]) #x = torch.reshape(x, (2, 3)) loss_cross = nn.CrossEntropyLoss() result_cross = loss_cross(x, y) print(result_cross)
三个损失值分别为
tensor(1.1019)
tensor(2.7609)
tensor(1.9314)