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

在Google Colab中迁移Tensor至CUDA GPU失败的问题排查

问题原因与解决方法

核心错误点

PyTorch的cuda()方法不会原地修改原张量——它会生成并返回一个迁移到GPU的新张量实例。你之前仅调用X_digits_train.cuda()却未将返回值重新赋值给原变量,因此原张量始终保留在CPU上,is_cuda自然返回False。

正确实现方式

方式1:重新赋值迁移后的张量

把cuda()或to()方法返回的新张量重新赋值给原变量:

# 直接用cuda()方法
X_digits_train = X_digits_train.cuda()

# 或者用你定义的device变量,适配CPU/GPU切换场景
X_digits_train = X_digits_train.to(device)

方式2:创建张量时直接指定设备

如果从numpy数组转张量时就想直接放到GPU,可以在创建阶段指定device参数:

X_digits_train = torch.tensor(X_digits_train, dtype=torch.float32, device=device)

验证修改结果

执行上述操作后,再次检查设备状态:

print(X_digits_train.is_cuda)  # 输出True
print(X_digits_train.device)   # 输出cuda设备信息(如cuda:0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:51:13