#python #nlp #huggingface-transformers
#питон #нлп #обнимашки-трансформеры
Вопрос:
У меня есть сохраненная модель трансформаторов, использующая BertModel.from_pretrained('test_model')
Я обучил эту модель с помощью графических процессоров Google colab
Затем я хочу открыть его, BertModel.from_pretrained('test_model/')
но у меня нет графического процессора на моем локальном компьютере. Я понимаю это:
/home/seiji/.local/lib/python3.8/site-packages/torch/cuda/__init__.py:52: UserWarning: CUDA initialization: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:100.)
return torch._C._cuda_getDeviceCount() > 0
Что мне делать? Я понятия не имею, как я могу открыть его с помощью процессора. И возможно ли это?
Ответ №1:
Лучшее, что вы можете сделать, это сохранить версию модели для процессора, то есть:
model.cpu().save_pretrained("model_directory")
Все предварительно обученные модели Huggingface в любом случае сохраняются как модели CPU, и вам всегда нужно явно перемещать их в GPU.
PyTorch позволяет загружать модели GPU на CPU (см. https://discuss.pytorch.org/t/on-a-cpu-device-how-to-load-checkpoint-saved-on-gpu-device/349 ), но аргументы torch.load
, которые вам нужно было бы установить, не предоставляются через API, поэтому вам нужно будет написать свой собственный from_pretrained
метод.