我有一个训练有素的Chainer模型,我想用来进行预测。默认情况下,我可以在CPU上预测图像,但我想使用GPU,我不确定该如何做。
下面是我的代码:
model = MyModel()
chainer.serializers.load_npz("snapshot", model)
image = load_image(path) # returns a numpy array
with chainer.no_brackprop_mode(), chainer.using_config("train", False):
pred = model.__call__(image)
这在CPU上运行良好。我应该加上什么来预测GPU?
我试过:
-
model.to_gpu(0)
-
chainer.cuda.get_device_from_id(0).use()
-
将图像转换为具有
image = cupy.array(image)
有了所有这些选项,我会得到一个错误:
ValueError: numpy and cupy must not be used together
type(W): <type 'cupy.core.core.ndarray'>, type(x): <type 'numpy.ndarray'>
我在这里做错什么了?如何在GPU上执行预测?
提前谢谢你的帮助。