如何解决我在Pytorch上出错,尤其是在nllloss上
我要在以下位置应用标准
criterion = nn.NLLLoss()
我将其应用于输出和标签
loss = criterion(output.view(-1,1),labels.long())
其中:
*标签的形状
labels
tensor([ 1,4,1,2,3,4])
output
tensor([ 0.1829,0.1959,0.1909,0.1895,0.1914,0.1883,0.1884,0.1865,0.1931,0.1917,0.1942,0.1937,0.1897,0.1934])
输出的形状
torch.Size([16])
在下一行:
loss = criterion(output.view(-1,labels.long())
我收到此错误:
错误是:
RuntimeError:断言“ cur_target> = 0 && cur_target
有什么想法吗?
解决方法
您的标签形状和输出形状必须分别为[batch_size]
和[batch_size,n_classes]
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。