簡體   English   中英

Amazon SageMaker Model Registry / Pipelines - 如何為給定的 Model 版本手動設置 Stage?

[英]Amazon SageMaker Model Registry / Pipelines - how to manually set a Stage for a given Model Version?

這可能是一個非常具體的問題,但無論如何我都會嘗試。

我想為給定的 Model 版本顯式設置 Model 注冊表中的 Stage 列:

在此處輸入圖像描述

此圖片來自文檔,只有在您運行他們提供的示例 SageMaker Projects MLOps 模板時才會設置。 當我手動創建Model Package (即Model Version )時,該列仍然為空。 我該如何設置? API 叫什么?

另外瀏覽model版本歷史的文檔中有如下一句話

在此處輸入圖像描述

我們如何手動發送那個確切的事件(“部署到階段 XYZ”)?

我已經徹底檢查了 SageMaker MLOps 項目生成的所有文件(CodeBuild Builds、CodePipeline、CloudFormation、各種.py文件、SageMaker Pipeline),但找不到對該事件的任何直接和顯式調用。

我認為它可能以某種方式連接到標簽sagemaker:deployment-stage但我已經將它設置在EndpointEndpointConfigurationModel上,但沒有成功。 我還嘗試盲目調用UpdateModelPackage API 並在CustomerMetadataProperties中設置Stage 再次 - 沒有運氣。

我在該活動選項卡中得到的唯一信息是給定的 Model 版本已部署到推理端點:

在此處輸入圖像描述

我遇到了完全相同的問題,我想更改 model 階段,但在 AWS 提供的示例代碼中找不到它在哪里完成。

經過一些研究並查看示例代碼后,我意識到它是在雲形成執行中完成的。 首先他們添加標簽

'sagemaker:deployment-stage': stage_config['Parameters']['StageName']

然后雲形成執行(cfnUpdate 調用)更新階段並部署。

我找不到另一種方法來通過調用 update_model_package 或其他方法來更改 state。

您可以使用create_model_package API 或update_model_package API 中的ModelApprovalStatus參數設置狀態

Model package state change should create an event in EventBridge (like many other SageMaker events) https://docs.aws.amazon.com/sagemaker/latest/dg/automating-sagemaker-with-eventbridge.html#eventbridge-model-package ,這使您能夠運行您選擇的自動化。

在默認的 SageMaker 管道項目模板中,您可以在為部署創建的 CodePipeline 管道中看到 EventBridge 驅動的建議邏輯:您可以在頂部看到“觸發器 - CloudWatchEvent”。 您不會在 git 中將事件源視為代碼,因為預計狀態更改將在該演示模板的 Studio model 注冊表 UI 中完成。

Model Registry 發出的那些 EventBridge 事件也可以在一些博客中看到:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM