Локальное открытие сохраненной модели трансформаторов

У меня есть сохраненная модель трансформаторов с использованием 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

Что мне делать? Я понятия не имею, как его открыть с помощью процессора. А возможно ли это?


person Rafael Higa    schedule 20.11.2020    source источник


Ответы (1)


Лучшее, что вы можете сделать, - это сохранить версию модели процессора, то есть:

model.cpu().save_pretrained("model_directory")

Все предварительно обученные модели Huggingface в любом случае сохраняются как модели ЦП, и вам всегда нужно явно перемещать их на графический процессор.

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 метод.

person Jindřich    schedule 23.11.2020