本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
啟用檢查點
啟用檢查點之後, SageMaker 會將檢查點儲存到 Amazon S3,並與檢查點 S3 儲存貯體同步訓練任務。您可以針對檢查點 S3 儲存貯體使用 S3 一般用途或 S3 目錄儲存貯體。
下列範例示範如何在建構 SageMaker 估算器時設定檢查點路徑。若要啟用檢查點,請將 checkpoint_s3_uri
和 checkpoint_local_path
參數新增至您的估算器。
下列範例範本示範如何建立一般 SageMaker 估算器並啟用檢查點。您可以指定 image_uri
參數,使用適用於支援之演算法的範本。若要尋找具有 支援檢查點的演算法URIs的 Docker 映像 SageMaker,請參閱 Docker Registry Paths 和範例程式碼 。您也可以將 estimator
和 取代Estimator
為其他 SageMaker 架構的估算器父類別和估算器類別,例如 TensorFlow
、MXNet
、 PyTorch
HuggingFace
和 XGBoost
。
import sagemaker from sagemaker.
estimator
importEstimator
bucket=sagemaker.Session().default_bucket() base_job_name="sagemaker-checkpoint-test
" checkpoint_in_bucket="checkpoints
" # The S3 URI to store the checkpoints checkpoint_s3_bucket="s3://{}/{}/{}".format(bucket, base_job_name, checkpoint_in_bucket) # The local path where the model will save its checkpoints in the training container checkpoint_local_path="/opt/ml/checkpoints" estimator =Estimator
( ... image_uri="<ecr_path>
/<algorithm-name>
:<tag>
" # Specify to use built-in algorithms output_path=bucket, base_job_name=base_job_name, # Parameters required to enable checkpointing checkpoint_s3_uri=checkpoint_s3_bucket, checkpoint_local_path=checkpoint_local_path )
下列兩個參數會指定檢查點的路徑:
-
checkpoint_local_path
— 指定模型在訓練容器中定期儲存檢查點的本機路徑。預設路徑設定為'/opt/ml/checkpoints'
。如果您正在使用其他架構或使用自己的訓練容器,請確定訓練指令碼的檢查點組態已指定路徑為'/opt/ml/checkpoints'
。注意
我們建議您指定本機路徑
'/opt/ml/checkpoints'
,以符合預設 SageMaker 檢查點設定。如果您偏好指定自己的本機路徑,請務必比對訓練指令碼中的檢查點儲存路徑和估算器的checkpoint_local_path
SageMaker參數。 -
checkpoint_s3_uri
– URI到 S3 儲存貯體的 ,其中檢查點會即時存放。您可以指定 S3 一般用途或 S3 目錄儲存貯體來存放檢查點。如需 S3 目錄儲存貯體的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南 中的目錄儲存貯體。
若要尋找 SageMaker 估算器參數的完整清單,請參閱 Amazon SageMaker Python SDK