这可能是一个非常的问题,但我还是会尝试的。
我希望显式地为给定的模型版本在Model注册表中设置Stage列:

此图片来自文档,只有在运行示例SageMaker项目MLOps模板时才会设置它们。当我手动创建Model Package (即Model Version)时,列仍然是空的。我该怎么设置呢?我叫什么API?
此外,有关浏览模型版本历史的文档。有一个下面的句子

我们如何手动发送确切的事件(“部署到阶段XYZ")?
我已经彻底检查了SageMaker MLOps项目生成的所有文件(CodeBuild Builds、CodePipeline、CloudFormation、各种.py文件、SageMaker管道),但是找不到对该事件的任何直接和显式调用。
我认为它可能以某种方式连接到标记sagemaker:deployment-stage,但我已经将其设置在Endpoint、EndpointConfiguration和Model上,但没有成功。我还试图盲目地调用UpdateModelPackage API并在CustomerMetadataProperties中设置Stage。再说一次-没有运气。
我在活动选项卡中得到的唯一好处是,给定的模型版本被部署到推断端点:

发布于 2021-12-02 09:25:56
可以使用ModelApprovalStatus参数在套餐 API或套餐 API中设置状态。
模型包状态更改应该在EventBridge (与许多其他SageMaker事件一样) https://docs.aws.amazon.com/sagemaker/latest/dg/automating-sagemaker-with-eventbridge.html#eventbridge-model-package中创建一个事件,它使您能够运行您所选择的自动化。
在默认的SageMaker管道项目模板中,您可以在为部署创建的CodePipeline管道中看到事件桥驱动的拟议逻辑:您可以在顶部看到“触发器- CloudWatchEvent”。您没有将事件源代码视为git中的代码,因为状态更改预计将在该演示模板中的Studio模型注册表UI中完成。
模型注册表发出的那些EventBridge事件也可以在几个博客中看到:
发布于 2022-03-15 13:45:57
我也遇到了同样的问题,我想改变模型阶段,但是在AWS提供的示例代码中找不到它是在哪里完成的。
经过一些研究和对示例代码的研究,我意识到它是在云形成执行过程中完成的。首先,他们添加了标签
'sagemaker:deployment-stage': stage_config['Parameters']['StageName']然后云形成执行(cfnUpdate调用)更新阶段并进行部署。
我无法找到通过调用update_model_package或其他方法来改变状态的其他方法。
https://stackoverflow.com/questions/70186130
复制相似问题