翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK for Python (Boto3)を使用して SageMaker Edge Manager のパッケージ化ジョブを作成できます。作業を進める前に、前提条件を満たすを満たしていることを確認してください。
エッジパッケージ化ジョブをリクエストするには、CreateEdgePackagingJob
を使います。エッジパッケージ化ジョブの名前、SageMaker Neo のコンパイルジョブの名前、ロールの Amazon リソースネーム (ARN)、モデルの名前、モデルのバージョン、パッケージ化ジョブの出力を保存する Amazon S3 バケット URI を指定する必要があります。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 API の完全なリストについては、Boto3 のドキュメント