如何在mlflow命令行中设置run_name?

时间:2019-11-01 21:30:24

标签: mlflow

MLFlow版本:1.4.0 Python版本:3.7.4

我使用所有必需的命令行选项以mlflow server...的身份运行UI。

我正在使用适当的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上手动更改它。

1 个答案:

答案 0 :(得分:1)

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

这是一个例子:

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 file中。然后,您可以从命令行将这些值传递到mlflow.start_run()函数中。