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上手动更改它。
答案 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()
函数中。