使用 SageMaker 模型登錄檔自動註冊 SageMaker 模型 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 SageMaker 模型登錄檔自動註冊 SageMaker 模型

您可以使用 Python SDK或直接透過 MLflow UI 來記錄MLflow模型,並自動向 SageMaker 模型登錄檔註冊。

注意

請勿在模型名稱中使用空格。雖然 MLflow支援具有空格的模型名稱,但 SageMaker 模型套件則不支援。如果您在模型名稱中使用空格,則自動註冊程序會失敗。

使用 SageMaker Python 註冊模型 SDK

在您的MLflow用戶端create_registered_model中使用 ,在 中自動建立與您選擇的現有模型 SageMaker 對應的MLflow模型套件群組。

import mlflow from mlflow import MlflowClient mlflow.set_tracking_uri(arn) client = MlflowClient() mlflow_model_name = 'AutoRegisteredModel' client.create_registered_model(mlflow_model_name, tags={"key1": "value1"})

在模型訓練期間,使用 mlflow.register_model()自動向 SageMaker 模型登錄檔註冊模型。註冊MLflow模型時,會在 中建立對應的模型套件群組和模型套件版本 SageMaker。

import mlflow.sklearn from mlflow.models import infer_signature from sklearn.datasets import make_regression from sklearn.ensemble import RandomForestRegressor mlflow.set_tracking_uri(arn) params = {"n_estimators": 3, "random_state": 42} X, y = make_regression(n_features=4, n_informative=2, random_state=0, shuffle=False) # Log MLflow entities with mlflow.start_run() as run: rfr = RandomForestRegressor(**params).fit(X, y) signature = infer_signature(X, rfr.predict(X)) mlflow.log_params(params) mlflow.sklearn.log_model(rfr, artifact_path="sklearn-model", signature=signature) model_uri = f"runs:/{run.info.run_id}/sklearn-model" mv = mlflow.register_model(model_uri, "RandomForestRegressionModel") print(f"Name: {mv.name}") print(f"Version: {mv.version}")

使用 UI MLflow 註冊模型

您也可以直接在 UI MLflow 中使用模型登錄檔註冊 SageMaker 模型。在MLflow使用者介面中的模型選單中,選擇建立模型 。以這種方式新建立的任何模型都會新增至 SageMaker 模型登錄檔。

在 UI MLflow 中建立模型登錄檔。

在實驗追蹤期間記錄模型後,導覽至 UI MLflow 中的執行頁面。選擇偽影窗格,然後選擇右上角的註冊模型,在 MLflow和模型登錄檔中註冊 SageMaker 模型版本。

在 UI MLflow 中建立模型登錄檔。

在 Studio 中檢視已註冊的模型

在 SageMaker Studio 登陸頁面中,選擇左側導覽窗格中的模型以檢視已註冊的模型。如需開始使用 Studio 的詳細資訊,請參閱啟動 Amazon SageMaker Studio。

MLflow 在 Studio UI 中的 SageMaker 模型登錄檔中註冊的模型。