欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RuntimeError: Expected object of scalar type Long but got scalar type Float for argument #2 'target'

程序员文章站 2022-06-13 08:00:00
...

在用pytorch的时候,报错RuntimeError: Expected object of scalar type Long but got scalar type Float for argument #2 'target'。研究了一下,发现是关于label的错误。修改办法总结一下:

1、RuntimeError: Expected object of scalar type Long but got scalar type Float for argument #2 'target',在这个报错中,标红的地方是关键,找到程序中的label,比如说在loss处,如下所示:

Loss = torch.nn.CrossEntropyLoss()
loss = Loss(out, label)

修改的时候,直接在label后面加上.long(),如下所示:

Loss = torch.nn.CrossEntropyLoss()
loss = Loss(out, label.long())

2、多次报这个错误后发现,它说是什么类型,直接在label后面加上对应的类型即可。