[英]Train an already trained model in Sagemaker and Huggingface without re-initialising
假設我已經在一些訓練數據上成功地訓練了 model 10 個時期。 我怎樣才能訪問完全相同的 model 並再訓練 10 個時期?
在文檔中它建議“你需要通過超參數指定一個檢查點 output 路徑”——> 怎么樣?
# define my estimator the standard way
huggingface_estimator = HuggingFace(
entry_point='train.py',
source_dir='./scripts',
instance_type='ml.p3.2xlarge',
instance_count=1,
role=role,
transformers_version='4.10',
pytorch_version='1.9',
py_version='py38',
hyperparameters = hyperparameters,
metric_definitions=metric_definitions
)
# train the model
huggingface_estimator.fit(
{'train': training_input_path, 'test': test_input_path}
)
如果我再次運行huggingface_estimator.fit
,它將重新開始整個過程並覆蓋我之前的訓練。
您可以在Spot Instances - Amazon SageMaker x Hugging Face Transformers中找到相關的檢查點保存/加載代碼。
(該示例啟用 Spot 實例,但您可以使用按需實例)。
'output_dir':'/opt/ml/checkpoints'
。checkpoint_s3_uri
(對於您將運行的一系列作業而言是唯一的)。from transformers.trainer_utils import get_last_checkpoint # check if checkpoint existing if so continue training if get_last_checkpoint(args.output_dir) is not None: logger.info("***** continue training *****") last_checkpoint = get_last_checkpoint(args.output_dir) trainer.train(resume_from_checkpoint=last_checkpoint) else: trainer.train()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.