can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory

博客主要讲述在GPU环境下使用PyTorch时,遇到无法将cuda:0设备类型张量转换为Numpy的问题,即“can’t convert cuda:0 device type tensor to numpy”,通过在变量后添加特定操作,给出修改后的代码,成功解决该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在GPU环境下使用pytorch出现:can’t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.

原代码

import matplotlib.pyplot as plt

# 折线图
plt.plot(x, y, label='sin')
plt.plot(x, a + b*x + c*x**2+ d*x**3, label='me')
# 图例
plt.legend()
# 画图
plt.show()

出现这个问题,只需要在变量后加上.cpu().numpy()即可。

修改后的代码:

import matplotlib.pyplot as plt

# 折线图
plt.plot(x.cpu().numpy(), y.cpu().numpy(), label='sin')
plt.plot(x.cpu().numpy(), (a + b*x + c*x**2 + d*x**3).cpu().numpy(), label='me')
# 图例
plt.legend()
# 画图
plt.show()

在这里插入图片描述
成功解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值