Я работаю с последней моделью НЛП от Google
Я прочитал несколько постов, но в основном я курсирую над colab Пример , которые имеют все шаги и модели тестирования. Проблема, с которой я столкнулся на данный момент, заключается в том, что, поскольку модели требуется много времени для обучения даже с использованием Google TPU, которые мне нужны для сохранения обученной модели, я предполагаю, что она работает аналогично модели GPT-2 в том смысле, что модель может проходить обучение в течение нескольких сеансов, поскольку позволяет в любой момент остановить обучение:
This will take at least 30 minutes to run to completion, but can safely
# be interrupted by selecting "Runtime > Interrupt Execution"
Но я не нашел примера того, как сохранить и загрузить модель после обучения. В случае GPT-2 новый каталог создавался автоматически для каждой новой модели, и для его использования необходимо было только указать этот новый каталог, но для этого я не нахожу, как загрузить ранее обученную модель.
РЕДАКТИРОВАТЬ:
В записной книжке я увидел этот код:
# Set up a Trainer.
output_dir = os.path.expanduser('~/train_dir/')
!rm -f ~/train_dir/model.pkl # Remove old model
trainer = trax.supervised.Trainer(
model=trax.models.ReformerLM,
loss_fn=trax.layers.CrossEntropyLoss,
optimizer=trax.optimizers.Adam,
lr_schedule=trax.lr.MultifactorSchedule,
inputs=trax.supervised.inputs.Inputs(my_inputs),
output_dir=output_dir,
has_weights=True)
Что удаляет предыдущую модель, я посмотрел в этот каталог, я нашел это:
![enter image description here](https://i.stack.imgur.com/98RQK.png)
Я использовал pickle для загрузки этого файла model.pkl, который я также скопировал в папку Gdrive:
with open('model.pkl', 'rb') as handle:
reformer_model = pickle.load(handle)
reformer_model
Но это просто словарь с весами, а не модель для непосредственного использования:
![enter image description here](https://i.stack.imgur.com/Wg65n.png)