モデルをパッケージ化する (Boto3) - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

モデルをパッケージ化する (Boto3)

を使用して SageMaker Edge Manager パッケージングジョブを作成できます AWS SDK for Python (Boto3)。作業を進める前に、前提条件を完了します。を満たしていることを確認してください。

エッジパッケージ化ジョブをリクエストするには、CreateEdgePackagingJob を使います。エッジパッケージングジョブの名前、 SageMaker Neo コンパイルジョブの名前、ロール Amazon リソース名 (ARN)、モデルの名前、モデルのバージョン、パッケージングジョブの出力URIを保存する Amazon S3 バケットを指定する必要があります。Edge Manager のパッケージングジョブ名と SageMaker Neo コンパイルジョブ名では、大文字と小文字が区別されることに注意してください。

# Import AWS SDK for Python (Boto3) import boto3 # Create Edge client so you can submit a packaging job sagemaker_client = boto3.client("sagemaker", region_name='aws-region') sagemaker_client.create_edge_packaging_job( EdgePackagingJobName="edge-packaging-name", CompilationJobName="neo-compilation-name", RoleArn="arn:aws:iam::99999999999:role/rolename", ModelName="sample-model-name", ModelVersion="model-version", OutputConfig={ "S3OutputLocation": "s3://your-bucket/", } )

エッジパッケージ化ジョブのステータスは、DescribeEdgePackagingJob を使い、エッジパッケージ化ジョブ名 (大文字と小文字を区別します) を指定することで確認できます。

response = sagemaker_client.describe_edge_packaging_job( EdgePackagingJobName="edge-packaging-name")

これにより、パッケージ化ジョブのステータスのポーリングに使用できるディクショナリが返されます。

# Optional - Poll every 30 sec to check completion status import time while True: response = sagemaker_client.describe_edge_packaging_job( EdgePackagingJobName="edge-packaging-name") if response['EdgePackagingJobStatus'] == 'Completed': break elif response['EdgePackagingJobStatus'] == 'Failed': raise RuntimeError('Packaging job failed') print('Packaging model...') time.sleep(30) print('Done!')

パッケージ化ジョブのリスト表示については、ListEdgePackagingJobs を使います。これを使用してAPI、特定のパッケージングジョブを検索できます。NameContains に名前の一部を指定して、パッケージ化ジョブ名にフィルターを適用します。また、ModelNameContains に名前の一部を指定して、指定した名前を含むジョブ内のモデルにフィルターを適用します。また、SortBy に並べ替えに使用する列、SortOrder に並べ替えの順序 (Ascending または Descending) を指定します。

sagemaker_client.list_edge_packaging_jobs( "NameContains": "sample", "ModelNameContains": "sample", "SortBy": "column-name", "SortOrder": "Descending" )

パッケージ化ジョブを停止するには、StopEdgePackagingJob を使い、エッジパッケージ化ジョブの名前を入力します。

sagemaker_client.stop_edge_packaging_job( EdgePackagingJobName="edge-packaging-name" )

Edge Manager の完全なリストについてはAPIs、Boto3 ドキュメント」を参照してください。