【解决办法】报错Found dtype Long but expected Float

Found dtype Long but expected Float错误通常发生在尝试将一个数据类型为Long的张量传递给一个期望数据类型为**Float**的函数或操作时。

在PyTorch中,Long 和**Float**是两种常见的数据类型,分别对应于64位整数和32位浮点数。某些函数或操作可能只接受特定数据类型的输入。例如loss_func函数出现报错,它需要输入数据为float

这时候只需要通过.float将数据类型转为float即可满足loss_func的输入数据类型要求

复制代码
        out_dis = out_dis.float()
        yb = yb.float()
        loss_r = loss_func(out_dis, yb)
        loss_r.backward()

需要注意的是这种转换可能会导致数据丢失,进而影响后续的计算,如这里的损失函数,因为Long类型的整数可以表示的范围比Float类型的浮点数大。

相关推荐
林泽毅1 分钟前
PyTRIO:当强化学习不再需要本地GPU
人工智能·python·深度学习·机器学习
颜酱5 分钟前
# 02 | 搭骨架:用 LangGraph 编排 12 步工作流(思路)
前端·人工智能·后端
颜酱6 分钟前
02 | 搭骨架:用 LangGraph 编排 12 步工作流
前端·人工智能·后端
码上解惑8 分钟前
从 Dify 工作流说起:常用节点怎么选、怎样组合?
java·人工智能·ai·agent·dify·智能体·spring ai
小陈phd12 分钟前
QAnything 阅读优化策略05——检索
人工智能·python·机器学习
ruofu3313 分钟前
wsl端是py312,但是项目是py311, 如何下载py311的依赖包(wheels)
python·docker
小大宇36 分钟前
python flask框架 SSE流式返回、跨域、报错
开发语言·python·flask
zhangfeng113339 分钟前
CVOCA 卷积模型,《Nature》子刊 特征提取技术突破性研究的综合分析报告
人工智能