You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch搭建CIFAR10卷积自编码器出现RuntimeError如何解决?

报错原因及修复方案

报错根因

  • 设备类型不匹配:模型已通过model.to(device)迁移到GPU,所有权重参数为torch.cuda.FloatTensor类型;但从测试集加载的img张量默认存储在CPU,为torch.FloatTensor类型,PyTorch不支持不同设备的张量直接参与卷积运算,因此触发报错。
  • 代码书写错误:img.to(device)是无效操作,PyTorch中张量的.to()方法不是原地操作,必须将返回值赋值给原变量才能完成设备迁移,代码中原img变量始终停留在CPU设备。

修复方案

方案1:迁移输入张量到GPU

修改设备迁移代码,将转移后的张量赋值回img:

# 替换原有的 img.to(device)
img = img.to(device)
# 后续推理可正常运行
model.encoder(img)

方案2:迁移模型到CPU推理

如果不需要使用GPU做推理,可将模型迁移回CPU后运行:

model = model.cpu()
# 后续推理可正常运行
model.encoder(img)

内容的提问来源于stack exchange,提问作者Arun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 00:24:02