首页 > 解决方案 > 如何在 mlflow 命令行中设置 run_name?

问题描述

MLFlow 版本:1.4.0 Python 版本:3.7.4

我正在运行 UImlflow server...和所有必需的命令行选项。

我正在使用适当的MLproject.yaml文件作为 MLFlow 项目登录到 MLFlow。该项目在 Docker 容器上运行,因此 CMD 如下所示:

mlflow run . -P document_ids=${D2V_DOC_IDS} -P corpus_path=... --no-conda --experiment-name=${EXPERIMENT_NAME}

像这样运行实验会产生空白的 run_name。我知道有一个 run_id 但我也想查看 run_name 并将其设置在我的代码中 - 在命令行中或在我的代码中设置为mlflow.log.....

我看过Is it possible to set/change mlflow run name after run initial creation?但我想以编程方式设置运行名称,而不是在 UI 上手动更改它。

标签: mlflow

解决方案


的参数之一mlflow.start_run()run_name。这将使您能够以编程方式访问设置每次迭代的运行名称。请参阅此处的文档。

这是一个例子:

from datetime import datetime

## Define the name of our run
name = "this run is gonna be bananas" + datetime.now()

## Start a new mlflow run and set the run name
with mlflow.start_run(run_name = name):

    ## ...train model, log metrics/params/model...

    ## End the run
    mlflow.end_run()

如果要将名称设置为 MLflow 项目的一部分,则必须将其指定为项目入口点中的参数。这位于MLproject 文件中。mlflow.start_run()然后,您可以从命令行将这些值传递给函数。


推荐阅读