loss.backward()处遇到“RuntimeError: Found dtype Double but expected Float”

错误信息

类型错误, 计算loss值的函数传入的参数类型不统一。

解决方法

查看上文loss计算代码部分的参数类型,如loss=f.mse_loss(out,label),检查out和label的类型都是torch.float类型即可。使用label.dtype查看tensor的类型。

具体流程

报错定位在这一行


寻思着是否是loss类型的问题,于是我就添加

loss = loss.to(torch.float32)

但是还是报错在此处,于是开始考虑是否是上文loss计算代码部分的参数类型有问题

添加这两行,再次运行,sucess, 完美

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年9月2日
下一篇 2023年9月2日

相关推荐