我正在使用以下工具记录模型

mlflow.sklearn.log_model(model, "my-model")

我想在日志(log)记录期间为模型设置标签,我判断了这个方法不允许设置标签,有一个mlflow.set_tags()方法,但它是标记运行而不是模型.

有人知道如何在记录过程中标记模型吗?

谢谢!

推荐答案

当使用mlflow.sklearn.log_model-you work with the experiment registry which is run-focused时,只能描述和标记实验和运行.

如果你想在模型上设置标签,你可以 Select need to work with the model registry.

我推荐的解决方案是设置为register the model when logging using registered_model_name(也有更细粒度的方法),并使用MLFlowClientAPI设置已注册模型的自定义属性(如标记).

以下是一个有效的示例:

import mlflow
from mlflow.client import MlflowClient

mlflow.set_tracking_uri('http://0.0.0.0:5000')

experiment_name = 'test_mlflow'
try:
    experiment_id = mlflow.create_experiment(experiment_name)
except:
    experiment_id = mlflow.get_experiment_by_name(experiment_name).experiment_id

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
from sklearn.metrics import accuracy_score

with mlflow.start_run(experiment_id = experiment_id):
    # log performance and register the model
    X, y = load_iris(return_X_y=True)
    params = {"C": 0.1, "random_state": 42}
    mlflow.log_params(params)
    lr = LogisticRegression(**params).fit(X, y)
    y_pred = lr.predict(X)
    mlflow.log_metric("accuracy", accuracy_score(y, y_pred))
    mlflow.sklearn.log_model(lr, 
        artifact_path="models", 
        registered_model_name='test-model'
    )
    # set extra tags on the model
    client = MlflowClient(mlflow.get_tracking_uri())
    model_info = client.get_latest_versions('test-model')[0]
    client.set_model_version_tag(
        name='test-model',
        version=model_info.version,
        key='task',
        value='regression'
    )

下面是插图

tagged and registered model in MLFlow

另请参阅这篇关于MLFlow Client的优秀文档.

Python相关问答推荐

Pandas或pyspark跨越列创建

查找3D数组中沿一个轴的相同值序列的长度(与行程长度编码相关)

如何将自动创建的代码转换为类而不是字符串?

如何判断. text文件中的某个字符,然后读取该行

定义同侪组并计算同侪组分析

将列表中的元素替换为收件箱中的元素

具有多个组的条形图的不同y标度

如何在Python中增量更新DF

按照行主要蛇扫描顺序对点列表进行排序

Python -Polars库中的滚动索引?

PywinAuto在Windows 11上引发了Memory错误,但在Windows 10上未引发

如何根据参数推断对象的返回类型?

Julia CSV for Python中的等效性Pandas index_col参数

如何从数据库上传数据到html?

当递归函数的返回值未绑定到变量时,非局部变量不更新:

如何使Matplotlib标题以图形为中心,而图例框则以图形为中心

如何在图中标记平均点?

如何从列表框中 Select 而不出错?

如何在TensorFlow中分类多个类

AES—256—CBC加密在Python和PHP中返回不同的结果,HELPPP