本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用演算法來執行訓練工作
您可以使用演算法資源建立訓練任務,方法是使用 Amazon SageMaker AI 主控台、低階 Amazon SageMaker API 或 Amazon SageMaker Python SDK
使用演算法來執行訓練工作 (主控台)
使用演算法來執行訓練工作 (主控台)
-
在 https://https://console.aws.amazon.com/sagemaker/
開啟 SageMaker AI 主控台。 -
選擇演算法。
-
從我的演算法索引標籤的清單上選擇您建立的演算法,或在AWS Marketplace 訂閱索引標籤上選擇您訂閱的演算法。
-
選擇建立訓練工作。
會自動選取您選擇的演算法。
-
在建立訓練工作頁面上,提供以下資訊:
-
針對工作名稱,輸入訓練工作的名稱。
-
針對 IAM 角色,選擇具有在 SageMaker AI 中執行訓練任務所需許可的 IAM 角色,或選擇建立新角色,以允許 SageMaker AI 建立已連接
AmazonSageMakerFullAccess
受管政策的角色。如需相關資訊,請參閱 如何使用 SageMaker AI 執行角色。 -
針對資源組態,提供下列資訊:
-
針對執行個體類型,選擇要用於訓練的執行個體類型。
-
針對執行個體計數,輸入要用於訓練工作的機器學習 (ML) 執行個體數量。
-
針對每個執行個體的額外磁碟區 (GB),輸入您要佈建的機器學習 (ML) 儲存磁碟區大小。機器學習 (ML) 儲存磁碟區會存放模型成品及累加狀態。
-
對於加密金鑰,如果您希望 Amazon SageMaker AI 使用 AWS 金鑰管理服務金鑰來加密連接到訓練執行個體的 ML 儲存磁碟區中的資料,請指定金鑰。
-
針對停止條件,指定您希望訓練工作執行的時間上限 (以秒、分鐘、小時或天數為單位)。
-
-
針對 VPC,選擇您希望允許訓練容器存取的 Amazon VPC。如需詳細資訊,請參閱讓 SageMaker AI 訓練任務存取 Amazon VPC 中的資源。
-
針對超參數,指定要用於訓練工作的超參數值。
-
針對輸入資料組態,針對每個用於訓練工作的輸入資料通道,指定下列值。您可以在該演算法的演算法摘要頁面的通道規格區段下,查看您用於訓練支援的演算法通道,以及每個通道的內容類型、支援的壓縮類型和支援的輸入模式。
-
針對通道名稱,輸入輸入通道的名稱。
-
針對內容類型,輸入演算法針對通道所預期的資料內容類型。
-
針對壓縮類型,選擇要使用的資料壓縮類型 (若有的話)。
-
針對記錄包裝函式,若演算法預期
RecordIO
格式的資料,請選擇RecordIO
。 -
針對 S3 資料類型、S3 資料分佈類型及 S3 位置,請指定適當的值。如需這些值所代表意義的資訊,請參閱
S3DataSource
。 -
針對輸入模式,選擇檔案來從所佈建的機器學習 (ML) 儲存磁碟區下載資料,並將目錄掛載到 Docker 磁碟區。選擇管道來直接從 Amazon S3 串流資料到容器。
-
若要新增另一個輸入通道,請選擇新增通道。若您已完成新增輸入通道,請選擇完成。
-
-
針對輸出位置,請指定下列值:
-
針對 S3 輸出路徑,選擇訓練工作存放輸出 (例如模型成品) 的 S3 位置。
注意
您可以使用存放在此位置的模型成品,從訓練工作建立模型或模型套件。
-
對於加密金鑰,如果您希望 SageMaker AI 使用 AWS KMS 金鑰來加密 S3 位置的靜態輸出資料。
-
-
針對標籤,請指定一或多個標籤來管理訓練工作。每個標籤皆包含索引鍵與選用值。每個資源的標籤鍵必須是唯一的。
-
選擇建立訓練工作來執行訓練工作。
-
使用演算法來執行訓練工作 (API)
若要使用 SageMaker API,利用演算法來執行訓練工作,請在您傳遞給 CreateTrainingJob
的 AlgorithmSpecification
物件的 AlgorithmName
欄位中,指定名稱或 Amazon Resource Name (ARN)。如需在 SageMaker AI 中訓練模型的相關資訊,請參閱 使用 Amazon SageMaker 訓練模型。
使用演算法來執行訓練工作 (Amazon SageMaker Python SDK )
使用您在 上建立或訂閱的演算法 AWS Marketplace 來建立訓練任務、建立AlgorithmEstimator
物件,並將 Amazon Resource Name (ARN) 或演算法名稱指定為algorithm_arn
引數的值。然後呼叫估算器的 fit
方法。例如:
from sagemaker import AlgorithmEstimator data_path = os.path.join(DATA_DIR, 'marketplace', 'training') algo = AlgorithmEstimator( algorithm_arn='arn:aws:sagemaker:us-east-2:012345678901:algorithm/my-algorithm', role='SageMakerRole', instance_count=1, instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-marketplace') train_input = algo.sagemaker_session.upload_data( path=data_path, key_prefix='integ-test-data/marketplace/train') algo.fit({'training': train_input})