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

相关推荐
牛奶3 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶3 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考6 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab6 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab6 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
孟健7 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
格砸8 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云8 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny8658 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔8 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能