包装模型 (Boto3) - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

包装模型 (Boto3)

您可以创建 SageMaker 边缘管理器打包作业,并使用Amazon SDK for Python (Boto3). 在继续之前,请确保您满意Prerequisites.

要请求边缘打包作业,请使用CreateEdgePackagingJob. 您需要为边缘打包作业提供一个名称、SageMaker Neo 编译作业的名称、角色亚马逊资源名称 (ARN)、模型的名称、模型的版本以及要存储打包作业输出的 Amazon S3 存储桶 URI。请注意,边缘管理器打包作业名称和 SageMaker Neo 编译作业名称区分大小写。

# Import Amazon 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 管理器 API 的完整列表,请参阅Boto3 文档.