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

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

打包已编译的模型

打包作业采用 SageMaker Neo –编译的模型并进行必要的更改,以便使用推理引擎 部署模型Edge Manager agent。要打包您的模型,请使用 create_edge_packaging API 或 SageMaker 控制台创建边缘打包作业。

您需要提供您用于 Neo 编译作业的名称、打包作业的名称、角色 ARN(请参阅Prerequisites部分)、模型的名称、模型版本以及打包作业输出的Amazon S3存储桶 URI。以下是使用 API 的示例。

# Create SageMaker client so you can submit a packaging job sagemaker_client = boto3.client("sagemaker", region_name=AWS_REGION) edge_packaging_name='edge-edge-packaging-demo' compilation_job_name='getting-started-demo' # Folder within S3 and full S3 bucket URI folder="package_output" s3_output_location=f"s3://{bucket}/{folder}" # Give your model a name and version for reference model_name="packaged-mobilenet-model" model_version="1.1" sagemaker_client.create_edge_packaging_job( EdgePackagingJobName=edge_packaging_name, CompilationJobName=compilation_job_name, RoleArn=role_arn, ModelName=model_name, ModelVersion=model_version, OutputConfig={ "S3OutputLocation": s3_output_location, } ) # 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!')

打包任务完成后,将模型下载到本地设备。您可以使用之前定义的 Amazon S3 客户端来下载模型:

s3_client.download_file(bucket=fleet_bucket, key=folder, filename="packaged-mobilenet-model-1.1.tar.gz"

您也可以使用 Amazon S3 控制台 () 下载模型https://console.amazonaws.cn/s3/。通过在搜索字段中提供存储桶的部分名称来搜索存储桶。