本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Edge Manager 部署直接部署 Model Packag SageMaker e API
SageMaker Edge Manager 提供了API一种部署,您无需使用该部署即可将模型部署到设备目标 AWS IoT Greengrass。当您想独立于固件更新或应用程序部署机制来更新模型时,它很有用。您可以使用将边缘部署集成API到 CI/CD 工作流程中,以便在验证模型的准确性后自动部署模型。它API还具有便捷的回滚和分阶段部署选项,可确保模型在更广泛的部署之前在特定环境中运行良好。
要使用 Edge Manager 部署,请API先编译并打包您的模型。有关如何编译和打包模型的信息,请参阅为部署做好模型准备。本指南的以下部分说明了在编译和打包模型之后 SageMaker API,如何使用创建边缘部署。
创建边缘部署计划
您可以使用创建边缘部署计划CreateEdgeDeploymentPlan
API。部署计划可以分为多个阶段。您可以将每个阶段配置为将部署推广到部分边缘设备(按百分比或按设备名称)。您还可以配置在每个阶段如何处理部署失败。
以下代码片段显示了如何创建边缘部署计划(包含一个将编译后的模型打包部署到 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。
启动边缘部署
创建部署计划和部署阶段后,您可以使用开始部署StartEdgeDeploymentStage
API。
client.start_edge_deployment_stage( EdgeDeploymentPlanName=
"edge-deployment-plan-name"
, StageName="stage-name"
)
检查部署的状态
您可以使用查看边缘部署的状态DescribeEdgeDeploymentPlanAPI。
client.describe_edge_deployment_plan( EdgeDeploymentPlanName=
"edge-deployment-plan-name"
)