在 “ SageMaker 模型注册表” 中自动注册 SageMaker 模型 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 “ SageMaker 模型注册表” 中自动注册 SageMaker 模型

您可以使用 Python SDK 或直接通过 MLflow UI 记录MLflow SageMaker 模型并将其自动注册到 “模型注册表”。

注意

不要在模型名称中使用空格。虽然MLflow支持带空格的模型名称,但 SageMaker Model Package 不支持。如果您在模型名称中使用空格,则自动注册过程将失败。

使用 SageMaker Python 注册模型 SDK

create_registered_model在您的MLflow客户端中使用,在中自动创建与您选择 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}")

使用MLflow用户界面注册模型

您也可以直接在MLflow用户界面中向 SageMaker 模型注册表注册模型。在MLflow用户界面的模型菜单中,选择创建模型。以这种方式新创建的所有模型都将添加到 SageMaker 模型注册表中。

在 MLflow UI 中创建模型注册表。

在实验跟踪期间记录模型后,在MLflow用户界面中导航到运行页面。选择 Ar t ifacts 窗格,然后选择右上角的注册模型,在模型注册表MLflow和模型注册表中注册 SageMaker 模型版本。

在 MLflow UI 中创建模型注册表。

在 Studio 中查看注册模特

在 SageMaker Studio 登录页面中,选择左侧导航窗格中的特以查看您注册的模特。有关 Studio 入门的更多信息,请参阅启动 Amazon SageMaker Studio

MLflow在 Studio 用户界面的 “ SageMaker 模型注册表” 中注册的模型。