У меня есть модель export.pkl
, которая была обучена на машине cuda. Я хочу использовать его на MacBook:
from fastai.text import load_learner
from utils import get_corpus
learner = load_learner('./models')
corpus = get_corpus()
res = [ str(learner.predict(c)[0]) for c in corpus ]
Я получаю следующую ошибку:
...
File "/Users/gautiergilabert/Envs/cc/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 146, in forward
"them on device: {}".format(self.src_device_obj, t.device))
RuntimeError: module must have its parameters and buffers on device cuda:0 (device_ids[0]) but found one of them on device: cpu
У меня есть два вопроса:
- Я нашел
raise
в моем export.pkl
:
for t in chain(self.module.parameters(), self.module.buffers()):
if t.device != self.src_device_obj:
raise RuntimeError("module must have its parameters and buffers "
"on device {} (device_ids[0]) but found one of "
"them on device: {}".format(self.src_device_obj, t.device))
О модуле в строке документации сказано: module to be parallelized
. Я не очень понимаю, что это такое. Мой макбук?
Помимо моего macbook, я хотел бы запустить модель на процессоре
- Есть ли способ заставить эту модель
export.pkl
работать на процессоре? - Есть ли способ сделать еще один
export.pkl
на cuda и сделать его доступным на процессоре?
Спасибо