绘制prediction_py与y_test_py时遇cuda:0张量转numpy失败错误求助
解决「can't convert cuda:0 device type tensor to numpy」错误
这个错误的核心原因是你要转换的张量还在CUDA GPU设备上,而numpy仅支持处理CPU上的张量数据。解决步骤很简单:
- 如果你的张量不需要保留梯度信息(比如只是用于绘图的预测结果/测试标签),直接把张量转移到CPU再转numpy:
# 转换prediction_py prediction_np = prediction_py.cpu().numpy() # 转换y_test_py y_test_np = y_test_py.cpu().numpy() - 如果张量还关联着计算图(带梯度),需要先剥离梯度再转CPU和numpy,避免触发计算图相关报错:
prediction_np = prediction_py.detach().cpu().numpy() y_test_np = y_test_py.detach().cpu().numpy()
转换完成后,用prediction_np和y_test_np就可以正常进行绘图操作了。
内容的提问来源于stack exchange,提问作者Osvaldo Carrasco
相关产品推荐
相关产品推荐

