我有一个经过训练的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上执行预测?提前谢谢你的帮助。
发布于 2018-07-30 15:12:08
我终于想出了一个让它工作的方法:我没有使用cupy.array(image),而是使用了cuda.to_gpu(image),然后使用了cuda.to_cpu(image)。我不确定这两者之间的区别,但它仍然有效。
https://stackoverflow.com/questions/51591069
复制相似问题