【解决办法】报错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类型的浮点数大。

相关推荐
Akamai中国4 分钟前
无服务器计算架构的优势
人工智能·云计算·云服务
酌沧5 分钟前
大模型量化技术全解析
人工智能·python·算法
进击monkey10 分钟前
2025年企业级AI知识库深度横评:PandaWiki如何以开源生态重构知识管理范式
人工智能·开源·开源软件
数据门徒12 分钟前
《人工智能现代方法(第4版)》 第11章 自动规划 学习笔记
人工智能·笔记·学习
老蒋新思维13 分钟前
创客匠人万人峰会启示:AI+IP 生态重构,知识变现进入 “共生增长” 时代
网络·人工智能·网络协议·tcp/ip·重构·创始人ip·创客匠人
nwsuaf_huasir14 分钟前
深度学习1.4-pytorch安装
人工智能·pytorch·深度学习
MobotStone15 分钟前
AI使用的10种最佳实践:提高你的工作效率和输出质量
人工智能·架构
沫儿笙15 分钟前
安川焊接机器人氩气节气秘诀
人工智能·机器人
AI浩16 分钟前
通过因果视觉提示实现单源域泛化目标检测
人工智能·目标检测·目标跟踪
曹牧16 分钟前
Java:Jackson库序列化对象
java·开发语言·python