Вам не нужно (и не можете) запустить load_gpt2()
перед настройкой. Вместо этого вам просто нужно дать run_name
finetune()
. Я согласен, что это чертовски непонятно; У меня была такая же проблема.
sess = gpt2.start_tf_sess()
gpt2.finetune(sess,
file_name,
model_name=model_name,
checkpoint_dir=checkpoint_dir,
run_name=run_name,
steps=25,
)
Это автоматически выберет последнюю контрольную точку из вашей папки checkpoint/run-name
, загрузит ее веса и продолжит тренировки с того места, где она остановилась. Вы можете подтвердить это, проверив номер эпохи - он не начинается снова с 0. Например, если вы ранее обучали 25 эпох, он начнется с 26:
Training...
[26 | 7.48] loss=0.49 avg=0.49
Также обратите внимание, что для запускать предварительную настройку несколько раз (или для загрузки другой модели) обычно необходимо перезапустить среду выполнения python. Вместо этого вы можете выполнить это перед каждой командой finetine:
tf.reset_default_graph()