本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用演算法來執行訓練工作
您可以使用 Amazon SageMaker 主控台、低階 Amazon SageMaker API 或 Amazon SageMaker Python 開發套件
使用演算法來執行訓練工作 (主控台)
使用演算法來執行訓練工作 (主控台)
-
請在以下位置開啟 SageMaker 主控台。
https://console.aws.amazon.com/sagemaker/ -
選擇演算法。
-
從我的演算法索引標籤的清單上選擇您建立的演算法,或在AWS Marketplace 訂閱索引標籤上選擇您訂閱的演算法。
-
選擇建立訓練工作。
會自動選取您選擇的演算法。
-
在建立訓練工作頁面上,提供以下資訊:
-
針對工作名稱,輸入訓練工作的名稱。
-
對於 IAM 角色,請選擇具有執行訓練任務所需許可的 IAM 角色 SageMaker,或選擇 [建立新角色] SageMaker 以允許建立已附加
AmazonSageMakerFullAccess
受管政策的角色。如需相關資訊,請參閱如何使用 SageMaker 執行角色。 -
針對資源組態,提供下列資訊:
-
針對執行個體類型,選擇要用於訓練的執行個體類型。
-
針對執行個體計數,輸入要用於訓練工作的機器學習 (ML) 執行個體數量。
-
針對每個執行個體的額外磁碟區 (GB),輸入您要佈建的機器學習 (ML) 儲存磁碟區大小。機器學習 (ML) 儲存磁碟區會存放模型成品及累加狀態。
-
對於加密金鑰,如果您希 SageMaker 望 Amazon 使用 AWS 金鑰管理服務金鑰來加密連接至訓練執行個體之 ML 儲存磁碟區中的資料,請指定金鑰。
-
針對停止條件,指定您希望訓練工作執行的時間上限 (以秒、分鐘、小時或天數為單位)。
-
-
針對 VPC,選擇您希望允許訓練容器存取的 Amazon VPC。如需詳細資訊,請參閱 讓 SageMaker 訓練任務能夠存取 Amazon VPC 中的資源。
-
針對超參數,指定要用於訓練工作的超參數值。
-
針對輸入資料組態,針對每個用於訓練工作的輸入資料通道,指定下列值。您可以在該演算法的演算法摘要頁面的通道規格區段下,查看您用於訓練支援的演算法通道,以及每個通道的內容類型、支援的壓縮類型和支援的輸入模式。
-
針對通道名稱,輸入輸入通道的名稱。
-
針對內容類型,輸入演算法針對通道所預期的資料內容類型。
-
針對壓縮類型,選擇要使用的資料壓縮類型 (若有的話)。
-
針對記錄包裝函式,若演算法預期
RecordIO
格式的資料,請選擇RecordIO
。 -
針對 S3 資料類型、S3 資料分佈類型及 S3 位置,請指定適當的值。如需這些值所代表意義的資訊,請參閱
S3DataSource
。 -
針對輸入模式,選擇檔案來從所佈建的機器學習 (ML) 儲存磁碟區下載資料,並將目錄掛載到 Docker 磁碟區。選擇管道來直接從 Amazon S3 串流資料到容器。
-
若要新增另一個輸入通道,請選擇新增通道。若您已完成新增輸入通道,請選擇完成。
-
-
針對輸出位置,請指定下列值:
-
針對 S3 輸出路徑,選擇訓練工作存放輸出 (例如模型成品) 的 S3 位置。
注意
您可以使用存放在此位置的模型成品,從訓練工作建立模型或模型套件。
-
對於加密金鑰,如果您想 SageMaker 要使用 AWS KMS 金鑰來加密 S3 位置的靜態輸出資料。
-
-
針對標籤,請指定一或多個標籤來管理訓練工作。每個標籤皆包含索引鍵與選用值。每個資源的標籤鍵必須是唯一的。
-
選擇建立訓練工作來執行訓練工作。
-
使用演算法來執行訓練工作 (API)
若要使用演算法透過 SageMaker API 執行訓練任務,請指定名稱或 Amazon 資源名稱 (ARN) 做為傳遞至AlgorithmSpecification
CreateTrainingJob
物件的AlgorithmName
欄位。如需有關中訓練模型的資訊 SageMaker,請參閱用 Amazon 訓練模型 SageMaker。
使用演算法執行訓練 Job (Amazon SageMaker Python 開發套件 )
使用您在上建立或訂閱的演算法 AWS Marketplace 來建立訓練任務、建立AlgorithmEstimator
物件並指定 Amazon 資源名稱 (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})