注册模型

MLflow 入门

Weston Bassler

Senior MLOps Engineer

注册 MLflow 模型

  • 模型版本

    • 遵循传统软件开发
    • 跟踪变更
  • 协作

    • 跨不同角色
    • 同角色持续改进
MLflow 入门

模型全生命周期管理

模型生命周期

1 datacamp.com
MLflow 入门

注册模型的方式

# Existing MLflow Models
mlflow.register_model(model_uri, name)

model_uri

  • 本地文件系统
  • Tracking 服务器
# During training run
mlflow.FLAVOR.log_model(name, 
    artifact_uri,
    registered_model_name="MODEL_NAME")

registered_model_name="MODEL_NAME"

MLflow 入门

注册模型示例

# Import mlflow
import mlflow


# Register model from local filesystem mlflow.register_model("./model", "Unicorn")
# Register model from Tracking server mlflow.register_model("runs:/run-id/model", "Unicorn")
MLflow 入门
# Register local MLFlow Model
mlflow.register_model(model_uri="./model", name="Unicorn")
已存在名为 'Unicorn' 的注册模型。正在创建该模型的新版本...

2023/03/24 14:34:26 INFO mlflow.tracking._model_registry.client: 最多等待 300 秒以完成模型版本创建。 模型名: Unicorn,版本 1 已创建模型 'Unicorn' 的版本 '1'。 <ModelVersion: creation_timestamp=1679682866413, current_stage='None', description=None, last_updated_timestamp=1679682866413, name='Unicorn', run_id=None, run_link=None, source='./model', status='READY', status_message=None, tags={}, user_id=None, version=1>
MLflow 入门
# Register model from MLflow Tracking
mlflow.register_model(model_uri="runs:/run-id/model", name="Unicorn")
已存在名为 'Unicorn' 的注册模型。正在创建该模型的新版本...
2023/03/24 14:36:56 INFO mlflow.tracking._model_registry.client: 
最多等待 300 秒以完成模型版本创建。                     
模型名: Unicorn,版本 2
已创建模型 'Unicorn' 的版本 '2'。
<ModelVersion: creation_timestamp=1679683016297, current_stage='None', 
description=None, last_updated_timestamp=1679683016297, name='Unicorn', 
run_id='2e974508b68b45ceb114657c6e97fef5', run_link=None, 
source='./mlruns/1/2e974508b68b45ceb114657c6e97fef5/artifacts/model', 
status='READY', status_message=None, tags={}, user_id=None, version=2>
MLflow 入门

Models 界面

模型界面

MLflow 入门

Unicorn 版本

版本界面

MLflow 入门

记录模型

# Import modules
import mlflow
import mlflow.sklearn
from sklearn.linear_model import LogisticRegression


# Model lr = LogisticRegression() lr.fit(X, y)
# Log model mlflow.sklearn.log_model(lr, "model", registered_model_name="Unicorn")
MLflow 入门
# Log model
mlflow.sklearn.log_model(lr, "model", registered_model_name="Unicorn")
已存在名为 'Unicorn' 的注册模型。正在创建该模型的新版本...
2023/03/24 17:31:10 INFO mlflow.tracking._model_registry.client: 
最多等待 300 秒以完成模型版本创建。                     
模型名: Unicorn,版本 3
已创建模型 'Unicorn' 的版本 '3'。
<mlflow.models.model.ModelInfo object at 0x14734d330>
MLflow 入门

¡Vamos a practicar!

MLflow 入门

Preparing Video For Download...