Yolop报错:RuntimeError: result type Float can‘t be cast to the desired output type __int64

之前运行yolov5的时候也遇到过同样的错误,其实都是一样的,只不过yolop网上一些资料较少。

废话不都说,开始解决!

报错原因:

   RuntimeError: result type Float can’t be cast to the desired output type long int
是说我这个版本的torch不支持float直接转换为long int 型数据,所以这需要我们手动转换数据类。(新版本的torch确实有这个问题,老版本没有这个问题。)

解决办法:(看图)

在lib软件包中找到 core软件包下的postprocess.py文件

找到postprocess.py文件的第30行 

gain = torch.ones(7, device=targets.device)

将这个代码修改成可以转换为long int 型数据的代码

gain = torch.ones(7, device=targets.device).long()

运行train.py,成功解决!

后话:

其实本质上来说也可以通过降低torch版本来解决 ,有兴趣的小伙伴可以自己去尝试一下~

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科研分母

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值