【发布时间】:2019-09-22 18:52:10
【问题描述】:
我加载了我之前训练的模型,并希望通过此模型对磁盘中的单个(测试)图像进行分类。我的模型中的所有操作都是在我的 GPU 上进行的。因此,我通过调用cuda() 函数将测试图像的numpy array 移动到GPU。当我用测试图像的numpy array 调用模型的forward() 函数时,我得到RuntimeError: Expected object of backend CPU but got backend CUDA for argument #2 'weight'。
这是我用来从磁盘加载图像并调用forward() 函数的代码:
test_img = imageio.imread('C:\\Users\\talha\\Desktop\\dog.png')
test_img = imresize(test_img, (28, 28))
test_tensor = torch.from_numpy(test_img)
test_tensor = test_tensor.cuda()
test_tensor = test_tensor.type(torch.FloatTensor)
log_results = model.forward(test_tensor)
软件环境:
火炬:1.0.1
GPU:Nvidia GeForce GTX 1070
操作系统:Windows 10 64-bit
Python:3.7.1
【问题讨论】:
-
Do
model.cuda()确保模型在 GPU 上。看来模型没有GPU -
不,它不起作用。 @UmangGupta
标签: neural-network deep-learning conv-neural-network pytorch torch