MLflow モデル レジストリの例MLflow Model Registry example

この例では、MLflow モデルレジストリを使用して、風力 farm の毎日の電源出力を予測する機械学習アプリケーションを作成する方法を示します。This example illustrates how to use MLflow Model Registry to build a machine learning application that forecasts the daily power output of a wind farm. この例では、次のことを行っています。The example shows how to:

  • MLflow を使用したモデルの追跡とログ記録Track and log models with MLflow
  • モデルレジストリにモデルを登録するRegister models with the Model Registry
  • モデルを記述し、モデルバージョンのステージ遷移を行うDescribe models and make model version stage transitions
  • 登録済みのモデルを実稼働アプリケーションと統合するIntegrate registered models with production applications
  • モデルレジストリ内のモデルの検索と検出Search and discover models in the Model Registry
  • モデルのアーカイブと削除Archive and delete models

この記事では、MLflow 追跡および MLflow モデルのレジストリ Ui と Api を使用して、これらの手順を実行する方法について説明します。The article describes how to perform these steps using the MLflow Tracking and MLflow Model Registry UIs and APIs.

MLflow 追跡とレジストリ Api を使用してこれらすべての手順を実行する notebook については、 モデルレジストリの例 notebookを参照してください。For a notebook that performs all these steps using the MLflow Tracking and Registry APIs, see the Model Registry example notebook.

MLflow 追跡によるデータセットの読み込み、モデルのトレーニング、および追跡Load dataset, train model, and track with MLflow Tracking

モデルレジストリにモデルを登録する前に、実験の実行中にモデルのトレーニングとログ記録を行う必要があります。Before you can register a model in the Model Registry, you must first train and log the model during an experiment run. このセクションでは、風力 farm データセットを読み込んでモデルをトレーニングし、トレーニングの実行を MLflow に記録する方法について説明します。This section shows how to load the wind farm dataset, train a model, and log the training run to MLflow.

データセットの読み込みLoad dataset

次のコードは、米国内の風力 farm の気象データと出力情報を含むデータセットを読み込みます。The following code loads a dataset containing weather data and power output information for a wind farm in the United States. データセットには、、、およびの各機能が含まれています。これには、6時間ごと (1 回、1回、に1回 wind direction wind speed air temperature 00:00 08:00 16:00 )、さらに、1日の合計電力出力 () が数年にわたってサンプリングされ power ます。The dataset contains wind direction, wind speed, and air temperature features sampled every six hours (once at 00:00, once at 08:00, and once at 16:00), as well as daily aggregate power output (power), over several years.

import pandas as pd
wind_farm_data = pd.read_csv("https://github.com/dbczumar/model-registry-demo-notebook/raw/master/dataset/windfarm_data.csv", index_col=0)

def get_training_data():
  training_data = pd.DataFrame(wind_farm_data["2014-01-01":"2018-01-01"])
  X = training_data.drop(columns="power")
  y = training_data["power"]
  return X, y

def get_validation_data():
  validation_data = pd.DataFrame(wind_farm_data["2018-01-01":"2019-01-01"])
  X = validation_data.drop(columns="power")
  y = validation_data["power"]
  return X, y

def get_weather_and_forecast():
  format_date = lambda pd_date : pd_date.date().strftime("%Y-%m-%d")
  today = pd.Timestamp('today').normalize()
  week_ago = today - pd.Timedelta(days=5)
  week_later = today + pd.Timedelta(days=5)

  past_power_output = pd.DataFrame(wind_farm_data)[format_date(week_ago):format_date(today)]
  weather_and_forecast = pd.DataFrame(wind_farm_data)[format_date(week_ago):format_date(week_later)]
  if len(weather_and_forecast) < 10:
    past_power_output = pd.DataFrame(wind_farm_data).iloc[-10:-5]
    weather_and_forecast = pd.DataFrame(wind_farm_data).iloc[-10:]

  return weather_and_forecast.drop(columns="power"), past_power_output["power"]

モデルのトレーニングTrain model

次のコードでは、データセットの気象特徴に基づいて電力出力を予測するために、Keras でニューラルネットワークをトレーニングしています。The following code trains a neural network in Keras to predict power output based on the weather features in the dataset. MLflow は、モデルのハイパーパラメーター、パフォーマンスメトリック、ソースコード、および成果物を追跡するために使用されます。MLflow is used to track the model’s hyperparameters, performance metrics, source code, and artifacts.

def train_keras_model(X, y):
  import keras
  from keras.models import Sequential
  from keras.layers import Dense

  model = Sequential()
  model.add(Dense(100, input_shape=(X_train.shape[-1],), activation="relu", name="hidden_layer"))
  model.add(Dense(1))
  model.compile(loss="mse", optimizer="adam")

  model.fit(X_train, y_train, epochs=100, batch_size=64, validation_split=.2)
  return model

import mlflow
import mlflow.keras

X_train, y_train = get_training_data()

with mlflow.start_run():
  # Automatically capture the model's parameters, metrics, artifacts,
  # and source code with the `autolog()` function
  mlflow.keras.autolog()

  train_keras_model(X_train, y_train)
  run_id = mlflow.active_run().info.run_id

MLflow UI を使用したモデルの登録と管理Register and manage the model using the MLflow UI

このセクションの内容は次のとおりです。In this section:

新しい登録済みモデルを作成するCreate a new registered model

  1. Azure Databricks notebook UI で 実験 アイコン実験をクリックして、mlflow 実験を実行し  ます。Navigate to the MLflow Experiment Runs sidebar by clicking the Experiment icon Experiment in the Azure Databricks notebook UI.

    サイドバーを実行するRuns sidebar

  2. Keras モデルトレーニングセッションに対応する MLflow 実行を探し、[ 実行の詳細の表示 ] アイコンをクリックして、MLFLOW 実行 UI で開きます。Locate the MLflow Run corresponding to the Keras model training session, and open it in the MLflow Run UI by clicking the View Run Detail icon.

  3. MLflow UI で、[ 成果物 ] セクションまで下にスクロールし、[ model] という名前のディレクトリをクリックします。In the MLflow UI, scroll down to the Artifacts section and click the directory named model. 表示される [ モデルの登録 ] ボタンをクリックします。Click the Register Model button that appears.

    モデルの登録Register model

  4. ドロップダウンメニューから [ 新しいモデルの作成 ] を選択し、次のモデル名を入力します power-forecasting-modelSelect Create New Model from the drop-down menu, and input the following model name: power-forecasting-model.

  5. [登録] をクリックします。Click Register. これにより、という新しいモデルが登録され、 power-forecasting-model 新しいモデルバージョンが作成さ Version 1 れます。This registers a new model called power-forecasting-model and creates a new model version: Version 1.

    新しいモデルのバージョンNew model version

    しばらくすると、MLflow UI に新しい登録済みモデルへのリンクが表示されます。After a few moments, the MLflow UI displays a link to the new registered model. MLflow モデルレジストリ UI で新しいモデルバージョンを開くには、このリンクに従います。Follow this link to open the new model version in the MLflow Model Registry UI.

モデルレジストリ UI の詳細Explore the Model Registry UI

MLflow モデルレジストリ UI の [モデルのバージョン] ページには、登録されている予測モデルに関する情報が表示されます。これには、 Version 1 作成者、作成時間、および現在のステージが含まれます。The model version page in the MLflow Model Registry UI provides information about Version 1 of the registered forecasting model, including its author, creation time, and its current stage.

[モデルのバージョン] ページModel version page

[モデルのバージョン] ページには、[ ソースの実行 ] リンクも用意されています。これにより、MLFLOW 実行 UI でモデルを作成するために使用した Mlflow 実行が開きます。The model version page also provides a Source Run link, which opens the MLflow Run that was used to create the model in the MLflow Run UI. MLflow 実行 UI から、[ Source notebook] リンクにアクセスして、モデルのトレーニングに使用された Azure Databricks notebook のスナップショットを表示できます。From the MLflow Run UI, you can access the Source notebook link to view a snapshot of the Azure Databricks notebook that was used to train the model.

ソースの実行Source run

ソースノートブックSource notebook

MLflow モデルレジストリに戻るには、To navigate back to the MLflow Model Registry, click the モデル アイコン サイドバーのアイコン。icon in sidebar.

結果の MLflow モデルレジストリのホームページには、Azure Databricks ワークスペースに登録されているすべてのモデルの一覧が表示されます。その中には、そのバージョンとステージが含まれます。The resulting MLflow Model Registry home page displays a list of all the registered models in your Azure Databricks Workspace, including their versions and stages.

[ 電力予測モデル ] リンクをクリックして [登録済みのモデル] ページを開くと、予測モデルのすべてのバージョンが表示されます。Click the power-forecasting-model link to open the registered model page, which displays all of the versions of the forecasting model.

モデルの説明の追加Add model descriptions

登録されているモデルおよびモデルバージョンに説明を追加できます。You can add descriptions to registered models and model versions. 登録済みのモデルの説明は、複数のモデルバージョンに適用される情報を記録する場合に便利です (モデリングの問題とデータセットの一般的な概要など)。Registered model descriptions are useful for recording information that applies to multiple model versions (e.g., a general overview of the modeling problem and dataset). モデルバージョンの説明は、特定のモデルバージョンの固有の属性 (例: モデルの開発に使用される手法とアルゴリズム) を詳細に記述する場合に役立ちます。Model version descriptions are useful for detailing the unique attributes of a particular model version (e.g., the methodology and algorithm used to develop the model).

  1. 登録されている電力予測モデルに高レベルの説明を追加します。Add a high-level description to the registered power forecasting model. 以下をクリックしますClick the [編集] アイコン アイコンを入力し、次の説明を入力します。icon and enter the following description:

    This model forecasts the power output of a wind farm based on weather data. The weather data consists of three features: wind speed, wind direction, and air temperature.
    

    モデルの追加の説明Add model description

  2. [保存] をクリックします。Click Save.

  3. [登録済みのモデル] ページの [ バージョン 1 ] リンクをクリックして、[モデルのバージョン] ページに戻ります。Click the Version 1 link from the registered model page to navigate back to the model version page.

  4. 以下をクリックしますClick the [編集] アイコン アイコンを入力し、次の説明を入力します。icon and enter the following description:

    This model version was built using Keras. It is a feed-forward neural network with one hidden layer.
    

    モデルバージョンの追加の説明Add model version description

  5. [保存] をクリックします。Click Save.

モデルのバージョンを移行するTransition a model version

MLflow モデルレジストリでは、 "None"、" ステージング"、" 運用"、"" という複数のモデルステージが定義されて Archived います。The MLflow Model Registry defines several model stages: None, Staging, Production, and Archived. 各ステージには一意の意味があります。Each stage has a unique meaning. たとえば、 ステージング はモデルテストを目的としていますが、 運用環境 は、テストプロセスやレビュープロセスを完了し、アプリケーションに配置されたモデルを対象としています。For example, Staging is meant for model testing, while Production is for models that have completed the testing or review processes and have been deployed to applications.

  1. [ ステージ ] ボタンをクリックすると、使用可能なモデルステージと使用可能なステージ遷移オプションの一覧が表示されます。Click the Stage button to display the list of available model stages and your available stage transition options.

  2. [ > 運用に移行する ] を選択し、[ステージの切り替えの確認] ウィンドウで [OK] をクリックして、モデルを 運用環境 に移行します。Select Transition to -> Production and press OK in the stage transition confirmation window to transition the model to Production.

    運用への移行Transition to production

    モデルのバージョンを 運用環境 に移行すると、現在のステージが UI に表示され、遷移を反映するためにエントリがアクティビティログに追加されます。After the model version is transitioned to Production, the current stage is displayed in the UI, and an entry is added to the activity log to reflect the transition.

    運用段階Production stage

    モデルバージョンのアクティビティModel version activity

MLflow モデルレジストリでは、複数のモデルバージョンで同じステージを共有できます。The MLflow Model Registry allows multiple model versions to share the same stage. ステージ別にモデルを参照する場合、モデルレジストリは最新のモデルバージョン (最大バージョン ID のモデルバージョン) を使用します。When referencing a model by stage, the Model Registry uses the latest model version (the model version with the largest version ID). [登録済みのモデル] ページには、特定のモデルのすべてのバージョンが表示されます。The registered model page displays all of the versions of a particular model.

[登録済みのモデル] ページRegistered model page

MLflow API を使用してモデルを登録および管理するRegister and manage the model using the MLflow API

このセクションの内容は次のとおりです。In this section:

プログラムによってモデルの名前を定義するDefine the model’s name programmatically

モデルが登録され、 運用環境 に移行されたので、mlflow プログラムによる api を使用してモデルを参照できます。Now that the model has been registered and transitioned to Production, you can reference it using MLflow programmatic APIs. 登録されているモデルの名前を次のように定義します。Define the registered model’s name as follows:

model_name = "power-forecasting-model"

モデルを登録するRegister the model

model_name = get_model_name()

import mlflow

# The default path where the MLflow autologging function stores the Keras model
artifact_path = "model"
model_uri = "runs:/{run_id}/{artifact_path}".format(run_id=run_id, artifact_path=artifact_path)

model_details = mlflow.register_model(model_uri=model_uri, name=model_name)

import time
from mlflow.tracking.client import MlflowClient
from mlflow.entities.model_registry.model_version_status import ModelVersionStatus

# Wait until the model is ready
def wait_until_ready(model_name, model_version):
  client = MlflowClient()
  for _ in range(10):
    model_version_details = client.get_model_version(
      name=model_name,
      version=model_version,
    )
    status = ModelVersionStatus.from_string(model_version_details.status)
    print("Model status: %s" % ModelVersionStatus.to_string(status))
    if status == ModelVersionStatus.READY:
      break
    time.sleep(1)

wait_until_ready(model_details.name, model_details.version)

API を使用してモデルとモデルのバージョンの説明を追加するAdd model and model version descriptions using the API

from mlflow.tracking.client import MlflowClient

client = MlflowClient()
client.update_registered_model(
  name=model_details.name,
  description="This model forecasts the power output of a wind farm based on weather data. The weather data consists of three features: wind speed, wind direction, and air temperature."
)

client.update_model_version(
  name=model_details.name,
  version=model_details.version,
  description="This model version was built using Keras. It is a feed-forward neural network with one hidden layer."
)

API を使用してモデルのバージョンを遷移し、詳細を取得するTransition a model version and retrieve details using the API

client.transition_model_version_stage(
  name=model_details.name,
  version=model_details.version,
  stage='Production',
)
model_version_details = client.get_model_version(
  name=model_details.name,
  version=model_details.version,
)
print("The current model stage is: '{stage}'".format(stage=model_version_details.current_stage))

latest_version_info = client.get_latest_versions(model_name, stages=["Production"])
latest_production_version = latest_version_info[0].version
print("The latest production version of the model '%s' is '%s'." % (model_name, latest_production_version))

API を使用して登録済みモデルのバージョンを読み込むLoad versions of the registered model using the API

MLflow モデルコンポーネントでは、複数の機械学習フレームワークからモデルを読み込む関数が定義されています。The MLflow Models component defines functions for loading models from several machine learning frameworks. たとえば、 mlflow.keras.load_model() は、mlflow 形式で保存された Keras モデルを読み込むために使用され mlflow.sklearn.load_model() ます。また、scikit-learn の読み込みに使用されます。 mlflow 形式で保存されたモデルについて学習します。For example, mlflow.keras.load_model() is used to load Keras models that were saved in MLflow format, and mlflow.sklearn.load_model() is used to load scikit-learn models that were saved in MLflow format.

これらの関数は、MLflow モデルレジストリからモデルを読み込むことができます。These functions can load models from the MLflow Model Registry.

import mlflow.pyfunc

model_version_uri = "models:/{model_name}/1".format(model_name=model_name)

print("Loading registered model version from URI: '{model_uri}'".format(model_uri=model_version_uri))
model_version_1 = mlflow.pyfunc.load_model(model_version_uri)

model_production_uri = "models:/{model_name}/production".format(model_name=model_name)

print("Loading registered model version from URI: '{model_uri}'".format(model_uri=model_production_uri))
model_production = mlflow.pyfunc.load_model(model_production_uri)

実稼働モデルを使用して電力出力を予測するForecast power output with the production model

このセクションでは、実稼働モデルを使用して、風力畑の天気予報データを評価します。In this section, the production model is used to evaluate weather forecast data for the wind farm. アプリケーションは、 forecast_power() 指定されたステージから予測モデルの最新バージョンを読み込み、それを使用して、次の5日間の電力生産を予測します。The forecast_power() application loads the latest version of the forecasting model from the specified stage and uses it to forecast power production over the next five days.

def plot(model_name, model_stage, model_version, power_predictions, past_power_output):
  import pandas as pd
  import matplotlib.dates as mdates
  from matplotlib import pyplot as plt
  index = power_predictions.index
  fig = plt.figure(figsize=(11, 7))
  ax = fig.add_subplot(111)
  ax.set_xlabel("Date", size=20, labelpad=20)
  ax.set_ylabel("Power\noutput\n(MW)", size=20, labelpad=60, rotation=0)
  ax.tick_params(axis='both', which='major', labelsize=17)
  ax.xaxis.set_major_formatter(mdates.DateFormatter('%m/%d'))
  ax.plot(index[:len(past_power_output)], past_power_output, label="True", color="red", alpha=0.5, linewidth=4)
  ax.plot(index, power_predictions, "--", label="Predicted by '%s'\nin stage '%s' (Version %d)" % (model_name, model_stage, model_version), color="blue", linewidth=3)
  ax.set_ylim(ymin=0, ymax=max(3500, int(max(power_predictions.values) * 1.3)))
  ax.legend(fontsize=14)
  plt.title("Wind farm power output and projections", size=24, pad=20)
  plt.tight_layout()
  display(plt.show())

def forecast_power(model_name, model_stage):
  from mlflow.tracking.client import MlflowClient
  client = MlflowClient()
  model_version = client.get_latest_versions(model_name, stages=[model_stage])[0].version
  model_uri = "models:/{model_name}/{model_stage}".format(model_name=model_name, model_stage=model_stage)
  model = mlflow.pyfunc.load_model(model_uri)
  weather_data, past_power_output = get_weather_and_forecast()
  power_predictions = pd.DataFrame(model.predict(weather_data))
  power_predictions.index = pd.to_datetime(weather_data.index)
  print(power_predictions)
  plot(model_name, model_stage, int(model_version), power_predictions, past_power_output)

新しいモデルバージョンの作成Create a new model version

従来の機械学習手法は、電力予測にも有効です。Classical machine learning techniques are also effective for power forecasting. 次のコードでは、scikit-learn を使用してランダムフォレストモデルをトレーニングし、関数を介して MLflow モデルレジストリに登録し mlflow.sklearn.log_model() ます。The following code trains a random forest model using scikit-learn and registers it with the MLflow Model Registry via the mlflow.sklearn.log_model() function.

import mlflow.sklearn
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error

with mlflow.start_run():
  n_estimators = 300
  mlflow.log_param("n_estimators", n_estimators)

  rand_forest = RandomForestRegressor(n_estimators=n_estimators)
  rand_forest.fit(X_train, y_train)

  val_x, val_y = get_validation_data()
  mse = mean_squared_error(rand_forest.predict(val_x), val_y)
  print("Validation MSE: %d" % mse)
  mlflow.log_metric("mse", mse)

  # Specify the `registered_model_name` parameter of the `mlflow.sklearn.log_model()`
  # function to register the model with the MLflow Model Registry. This automatically
  # creates a new model version
  mlflow.sklearn.log_model(
    sk_model=rand_forest,
    artifact_path="sklearn-model",
    registered_model_name=model_name,
  )
from mlflow.tracking.client import MlflowClient
client = MlflowClient()

model_version_infos = client.search_model_versions("name = '%s'" % model_name)
new_model_version = max([model_version_info.version for model_version_info in model_version_infos])

wait_until_ready(model_name, new_model_version)

新しいモデルバージョンへの説明の追加Add a description to the new model version

client.update_model_version(
  name=model_name,
  version=new_model_version,
  description="This model version is a random forest containing 100 decision trees that was trained in scikit-learn."
)

新しいモデルのバージョンをステージング環境に移行し、モデルをテストするTransition the new model version to Staging and test the model

実稼働アプリケーションにモデルを配置する前に、ステージング環境でテストすることをお勧めします。Before deploying a model to a production application, it is often best practice to test it in a staging environment. 次のコードでは、新しいモデルのバージョンを ステージング に切り替え、そのパフォーマンスを評価します。The following code transitions the new model version to Staging and evaluates its performance.

client.transition_model_version_stage(
  name=model_name,
  version=new_model_version,
  stage="Staging",
)

forecast_power(model_name, "Staging")

新しいモデルバージョンを運用環境にデプロイするDeploy the new model version to Production

新しいモデルのバージョンがステージング環境で正常に動作することを確認した後、次のコードでは、モデルを 運用環境 に移行し、[ 実稼働モデルとの予測電源出力 ] セクションとまったく同じアプリケーションコードを使用して、電力予測を生成します。After verifying that the new model version performs well in staging, the following code transitions the model to Production and uses the exact same application code from the Forecast power output with the production model section to produce a power forecast.

client.transition_model_version_stage(
  name=model_name,
  version=new_model_version,
  stage="Production",
)

forecast_power(model_name, "Production")

実稼働 ステージには、予測モデルのモデルバージョンが2つあります。 keras モデルでトレーニングされたモデルバージョンと、scikit-learn でトレーニングされたバージョンです。There are now two model versions of the forecasting model in the Production stage: the model version trained in Keras model and the version trained in scikit-learn.

製品モデルのバージョンProduct model versions

注意

ステージによってモデルを参照する場合、MLflow モデルのレジストリでは、最新の製品バージョンが自動的に使用されます。When referencing a model by stage, the MLflow Model Model Registry automatically uses the latest production version. これにより、アプリケーションコードを変更することなく、実稼働モデルを更新できます。This enables you to update your production models without changing any application code.

モデルのアーカイブと削除Archive and delete models

モデルのバージョンが使用されなくなった場合は、アーカイブまたは削除することができます。When a model version is no longer being used, you can archive it or delete it. 登録されているモデル全体を削除することもできます。これにより、関連付けられているすべてのモデルバージョンが削除されます。You can also delete an entire registered model; this removes all of its associated model versions.

Version 1電力予測モデルのアーカイブArchive Version 1 of the power forecasting model

使用され Version 1 なくなったため、電力予測モデルのアーカイブ。Archive Version 1 of the power forecasting model because it is no longer being used. MLflow モデルレジストリ UI または MLflow API を使用して、モデルをアーカイブできます。You can archive models in the MLflow Model Registry UI or via the MLflow API.

Version 1MLflow UI でのアーカイブArchive Version 1 in the MLflow UI

電力予測モデルをアーカイブするには Version 1 、次のようにします。To archive Version 1 of the power forecasting model:

  1. MLflow モデルレジストリ UI で、対応する [モデルバージョン] ページを開きます。Open its corresponding model version page in the MLflow Model Registry UI:

    アーカイブ済みへの移行Transition to archived

  2. [ ステージ ] ボタンをクリックし、[ 移行 > アーカイブ] を選択します。Click the Stage button, select Transition To -> Archived:

    アーカイブされたステージArchived stage

  3. ステージの切り替えの確認ウィンドウで [OK] をクリックします。Press OK in the stage transition confirmation window.

    アーカイブ済みモデルのバージョンArchived model version

Version 1MLflow API を使用したアーカイブArchive Version 1 using the MLflow API

次のコードでは、関数を使用して、 MlflowClient.update_model_version() Version 1 電力予測モデルのアーカイブを行います。The following code uses the MlflowClient.update_model_version() function to archive Version 1 of the power forecasting model.

from mlflow.tracking.client import MlflowClient

client = MlflowClient()
client.transition_model_version_stage(
  name=model_name,
  version=1,
  stage="Archived",
)

Version 1電力予測モデルの削除Delete Version 1 of the power forecasting model

MLflow UI または MLflow API を使用して、モデルのバージョンを削除することもできます。You can also use the MLflow UI or MLflow API to delete model versions.

警告

モデルバージョンの削除は永続的であり、元に戻すことはできません。Model version deletion is permanent and cannot be undone.

Version 1MLflow UI での削除Delete Version 1 in the MLflow UI

電力予測モデルを削除するには Version 1 、次のようにします。To delete Version 1 of the power forecasting model:

  1. MLflow モデルレジストリ UI で、対応する [モデルバージョン] ページを開きます。Open its corresponding model version page in the MLflow Model Registry UI.

    モデル バージョンの削除Delete model version

  2. バージョン識別子の横にあるドロップダウン矢印を選択し、[ 削除] をクリックします。Select the drop-down arrow next to the version identifier and click Delete.

Version 1MLflow API を使用した削除Delete Version 1 using the MLflow API
client.delete_model_version(
   name=model_name,
   version=1,
)
MLflow API を使用してモデルを削除するDelete the model using the MLflow API

最初に、残りのすべてのモデルバージョンステージを None または アーカイブ に移行する必要があります。You must first transition all remaining model version stages to None or Archived.

from mlflow.tracking.client import MlflowClient

client = MlflowClient()
client.transition_model_version_stage(
  name=model_name,
  version=2,
  stage="Archived",
)
client.delete_registered_model(name=model_name)

ノートブックNotebook

MLflow モデルレジストリの例 notebookMLflow Model Registry example notebook

ノートブックを入手Get notebook