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

本文主要讲述使用Pytorch时遇到RuntimeError: Expected object of scalar type Long but got scalar type Float for argument #2 'target'报错的问题。经研究发现是label的错误,解决办法一是在loss处的label后加.long(),二是报错提示什么类型,就在label后加对应类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用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后面加上对应的类型即可。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值