【发布时间】:2021-05-21 23:33:27
【问题描述】:
我正在玩一些代码,但它的行为与我的预期不同。所以我把它简化为一个最低限度的工作示例:
import torch
test_act = torch.tensor([[2.,0.]])
test_target = torch.tensor([0])
loss_function_test = torch.nn.CrossEntropyLoss()
loss_test = loss_function_test(test_act, test_target)
print(loss_test)
> tensor(0.1269)
weights=torch.tensor([0.1,0.5])
loss_function_test = torch.nn.CrossEntropyLoss(weight=weights)
loss_test = loss_function_test(test_act, test_target)
print(loss_test)
> tensor(0.1269)
如您所见,无论是否存在权重,输出都是相同的。但我希望第二个输出为 0.0127
是否有一些我不知道的标准化正在进行?还是它可能被窃听了?
【问题讨论】:
标签: python pytorch cross-entropy