问题描述
我对 Pytorch 很陌生。 我想计算 Transformer 中批次的损失。在这种情况下,我的“批次”只有两个副本。 该批次输出形状为 2,73,33 的张量:
output
tensor([[[ 21.1355,-7.5047,2.8138,...,-14.1462,-15.1999,-7.2595],...
output.size()
>>> torch.Size([2,33])
target.size()
>>> torch.Size([2,73])
loss = torch.nn.CrossEntropyLoss(ignore_index=1)
loss(output[0],target[0])
tensor(0.1967)
但是当我一次完成时它会出错:
loss = torch.nn.CrossEntropyLoss(ignore_index=1)
loss(output,target)
ValueError: Expected target size (2,33),got torch.Size([2,73])
我是否必须遍历副本并对它们求平均值? 非常感谢任何帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)