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

Colab运行PyTorch报Expected all tensors to be on the same device错误求助

问题排查方案
  • 最高概率诱因:未将模型整体移动到GPU,你当前仅将输入张量、标签张量移动到了cuda设备,但模型的所有权重(包括Embedding层、linear1、linear2的可训练参数)默认创建在CPU上,必须显式调用代码完成模型设备迁移:
model = model.to(device)

该问题占这类设备不匹配报错的90%以上,优先验证。

  • 次要排查点:损失函数的可学习参数/权重设备匹配,如果你定义损失函数时传入了自定义类间权重weight参数,需要确保该权重张量也通过.to(device)移动到了GPU,否则计算损失时也会触发设备不匹配错误。
  • 快速定位校验代码:可以在log_probs = model(context_vector)前插入以下打印代码,直接确认设备不匹配的具体来源:
# 打印输入张量设备
print("输入张量设备:", context_vector.device)
# 打印模型第一个参数的设备
print("模型参数设备:", next(model.parameters()).device)

如果两个输出不一致即可确认是模型未迁移的问题,按第一条方案修复即可。

内容的提问来源于stack exchange,提问作者Cong-Phuoc Phan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:54:03