我如何在火炬训练时保存模型
How can i save model while training in torch
我正在为一种新语言训练 RoBERTa 模型,训练数据需要几个小时。所以我觉得在训练的时候保存模型是个好主意,这样下次我可以从停止的地方继续训练模型。
我正在使用 torch 库和 google Colab GPU 来训练模型。
这是我的 colab 文件。
https://colab.research.google.com/drive/1jOYCaLdxYRwGMqMciG6c3yPYZAsZRySZ?usp=sharing
您可以使用 Trainer
from transformers to train the model. This trainer will also need you to specify the TrainingArguments
,这将允许您在训练时保存模型的检查点。
您在创建 TrainingArguments
时设置的一些参数是:
save_strategy
:训练时采用的检查点保存策略。可能的值是:
- "no": 训练期间不保存。
- “epoch”:保存在每个 epoch 结束时完成。
- “步数”:每 save_steps.
保存一次
save_steps
:如果save_strategy="steps",则两次检查点保存之前的更新步骤数。
save_total_limit
:如果一个值被传递,将限制检查点的总量。删除 output_dir. 中的旧检查点
load_best_model_at_end
:训练结束时是否加载训练过程中找到的最佳模型
关于load_best_model_at_end
的一个重要的事情是,当设置为True时,参数save_strategy
需要和eval_strategy
一样,在这个例子中是“steps”, save_steps
必须是 eval_steps.
的整数倍
我正在为一种新语言训练 RoBERTa 模型,训练数据需要几个小时。所以我觉得在训练的时候保存模型是个好主意,这样下次我可以从停止的地方继续训练模型。
我正在使用 torch 库和 google Colab GPU 来训练模型。
这是我的 colab 文件。 https://colab.research.google.com/drive/1jOYCaLdxYRwGMqMciG6c3yPYZAsZRySZ?usp=sharing
您可以使用 Trainer
from transformers to train the model. This trainer will also need you to specify the TrainingArguments
,这将允许您在训练时保存模型的检查点。
您在创建 TrainingArguments
时设置的一些参数是:
save_strategy
:训练时采用的检查点保存策略。可能的值是:- "no": 训练期间不保存。
- “epoch”:保存在每个 epoch 结束时完成。
- “步数”:每 save_steps. 保存一次
save_steps
:如果save_strategy="steps",则两次检查点保存之前的更新步骤数。save_total_limit
:如果一个值被传递,将限制检查点的总量。删除 output_dir. 中的旧检查点
load_best_model_at_end
:训练结束时是否加载训练过程中找到的最佳模型
关于load_best_model_at_end
的一个重要的事情是,当设置为True时,参数save_strategy
需要和eval_strategy
一样,在这个例子中是“steps”, save_steps
必须是 eval_steps.