3

这可能是一个非常具体的问题,但无论如何我都会尝试。

我想在模型注册表中为给定模型版本显式设置阶段列:

在此处输入图像描述

此图片来自文档,仅在您运行他们提供的示例 SageMaker Projects MLOps 模板时才会设置。当我手动创建Model Package(ie Model Version) 时,该列保持为空。我该如何设置?我要调用什么 API?

另外,浏览模型版本历史的文档有如下一句话

在此处输入图像描述

我们如何手动发送那个确切的事件(“部署到舞台 XYZ”)?

我已经彻底检查了 SageMaker MLOps 项目生成的所有文件(CodeBuild Builds、CodePipeline、CloudFormation、各种.py文件、SageMaker Pipeline),但找不到对该事件的任何直接和明确的调用。

我认为它可能以某种方式连接到标签sagemaker:deployment-stage,但我已经将它设置为Endpoint,EndpointConfigurationModel,但没有成功。我也试过一味调用UpdateModelPackage API,StageCustomerMetadataProperties. 再次 - 没有运气。

我在该活动选项卡中得到的唯一信息是给定的模型版本已部署到推理端点:

在此处输入图像描述

4

1 回答 1

0

您可以使用create_model_package API 或update_model_package APIModelApprovalStatus中的参数设置状态

模型包状态更改应在 EventBridge 中创建一个事件(与许多其他 SageMaker 事件一样)https://docs.aws.amazon.com/sagemaker/latest/dg/automating-sagemaker-with-eventbridge.html#eventbridge-model-package,这使您能够运行您选择的自动化。

在默认的 SageMaker 管道项目模板中,您可以在为部署创建的 CodePipeline 管道中看到 EventBridge 驱动的建议逻辑:您可以在顶部看到“触发器 - CloudWatchEvent”。您不会将事件源视为 git 中的代码,因为状态更改预计将在该演示模板的 Studio 模型注册表 UI 中完成。

模型注册表发出的那些 EventBridge 事件也可以在一些博客中看到:

于 2021-12-02T09:25:56.437 回答