使用 Edge Manager 部署直接部署 Model Packag SageMaker e API - Amazon SageMaker

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

使用 Edge Manager 部署直接部署 Model Packag SageMaker e API

SageMaker Edge Manager 提供了API一种部署,您无需使用该部署即可将模型部署到设备目标 AWS IoT Greengrass。当您想独立于固件更新或应用程序部署机制来更新模型时,它很有用。您可以使用将边缘部署集成API到 CI/CD 工作流程中,以便在验证模型的准确性后自动部署模型。它API还具有便捷的回滚和分阶段部署选项,可确保模型在更广泛的部署之前在特定环境中运行良好。

要使用 Edge Manager 部署,请API先编译并打包您的模型。有关如何编译和打包模型的信息,请参阅为部署做好模型准备。本指南的以下部分说明了在编译和打包模型之后 SageMaker API,如何使用创建边缘部署。

创建边缘部署计划

您可以使用创建边缘部署计划CreateEdgeDeploymentPlanAPI。部署计划可以分为多个阶段。您可以将每个阶段配置为将部署推广到部分边缘设备(按百分比或按设备名称)。您还可以配置在每个阶段如何处理部署失败。

以下代码片段显示了如何创建边缘部署计划(包含一个将编译后的模型打包部署到 2 个特定边缘设备的阶段):

import boto3 client = boto3.client("sagemaker") client.create_edge_deployment_plan( EdgeDeploymentPlanName="edge-deployment-plan-name", DeviceFleetName="device-fleet-name", ModelConfigs=[ { "EdgePackagingJobName": "edge-packaging-job-name", "ModelHandle": "model-handle" } ], Stages=[ { "StageName": "stage-name", "DeviceSelectionConfig": { "DeviceSubsetType": "SELECTION", "DeviceNames": ["device-name-1", "device-name-2"] }, "DeploymentConfig": { "FailureHandlingPolicy": "ROLLBACK_ON_FAILURE" } } ] )

如果要将模型部署到在设备队列中占有一定百分比的设备,则在上面的示例中将 DeviceSubsetType 的值设置为 "PERCENTAGE",并将 "DeviceNames": ["device-name-1", "device-name-2"] 替换为 "Percentage": desired-percentage

如果您想在验证测试部署成功后开始推出新阶段 CreateEdgeDeploymentStageAPI,则可以在使用创建部署计划后添加阶段。有关部署阶段的更多信息,请参阅DeploymentStage。

启动边缘部署

创建部署计划和部署阶段后,您可以使用开始部署StartEdgeDeploymentStageAPI。

client.start_edge_deployment_stage( EdgeDeploymentPlanName="edge-deployment-plan-name", StageName="stage-name" )

检查部署的状态

您可以使用查看边缘部署的状态DescribeEdgeDeploymentPlanAPI。

client.describe_edge_deployment_plan( EdgeDeploymentPlanName="edge-deployment-plan-name" )