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

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

打包模型 (Boto3

您可以使用 创建SageMaker Edge Manager打包作业适用于 Python (Boto3) 的 AWS 软件开发工具包。在继续之前,请确保您对 满意Prerequisites

要请求边缘打包作业,请使用 CreateEdgePackagingJob。 您需要为边缘打包作业提供名称SageMaker、Neo 编译作业的名称、角色 Amazon 资源名称 (ARN)、模型的名称、模型的版本以及用于存储打包作业输出的 Amazon S3 存储桶 URI。

# 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,以及要按哪个方向进行排序SortOrderAscendingDescending)。

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 ManagerAPIs,请参阅 Boto3 文档