PyTorch的“预期CPU张量(得到CUDA张量)”错误

时间:2017-09-01 09:00:05

标签: python model inference pytorch tensor

在我的Trained PyTorch模型的推理代码中,出了什么问题?

存在运行时错误消息:“预期的CPU张量(获得CUDA张量)”

Fill

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

错误可能是cuda中的模型不匹配 和您用作输入的变量x,这是一个CPU张量。

尝试将.cuda()添加到您的变量中,以便两者匹配:

x = V(centre_crop(img).unsqueeze(0), volatile=True).cuda()

答案 1 :(得分:0)

错误是因为model在GPU上,而输入图像x在CPU上。您必须确保它们都在GPU或CPU上。

此外,model.cuda()x.cuda()的行为略有不同:model.cuda()会将model置于GPU上,但x.cuda()只会在GPU上返回一个新的变量,原始x保持不变。您必须明确地将返回值分配给x

您可以找到详细的讨论here