[英]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
但我已經將它設置在Endpoint
、 EndpointConfiguration
和Model
上,但沒有成功。 我還嘗試盲目調用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.