2

我是 MLflow 的新手。我试图在 Jupyter 中使用它。作为快速入门的一部分,我运行了以下代码:

import os
from mlflow import log_metric, log_param, log_artifact

if __name__ == "__main__":
    # Log a parameter (key-value pair)
    log_param("param1", 5)

    # Log a metric; metrics can be updated throughout the run
    log_metric("foo", 1)
    log_metric("foo", 2)
    log_metric("foo", 3)

    # Log an artifact (output file)
    with open("output.txt", "w") as f:
        f.write("Hello world!")
    log_artifact("output.txt")

运行没有任何问题。但是,当我随后输入 mlflow ui 时,出现错误:语法无效。我可能做错了什么?

4

2 回答 2

4

MLFlow 快速入门中的文档 假定您将此代码保存为 Python.py脚本并在终端(或其他命令行解释器)中运行它。当您在终端或 Jupyter 中运行脚本时,mlruns会自动创建一个名为的文件夹。

“默认情况下,无论您在哪里运行程序,跟踪 API 都会将数据写入文件到 mlruns 目录中。然后您可以运行 MLflow 的跟踪 UI”

如果你想从 Notebook 运行 MLflow 的 Tracking UI,你应该写!mlflow ui而不是mlflow ui. 您会收到语法错误,因为它不是有效的 Python 语法。如果您!mlflow ui从 Notebook 运行,您仍然可以在http://localhost:5000查看跟踪 UI 。但是,在这种情况下,您将无法运行任何其他单元,因为当前单元继续运行。

您最好使用终端,并在与包含您的笔记本和 mlruns 文件夹的mlflow ui 当前工作目录相同的当前工作目录中运行代码。

于 2019-07-28T21:36:21.020 回答
1

对于像我这样的初学者来说,也许是一个简短的分步列表:如果你想在 Jupiter Notebook 上本地运行 mlflow ui。

  1. 运行你的模型mlflow.start_run()
  2. 打开 anaconda prompt PowerShell 并运行mlflow ui,它会返回一个答案,告诉你 ui 现在在本地服务器 5000 上本地运行
  3. 按照上面答案中的说明运行!mlflow ui,单元应该如上所述不断运行
  4. 现在打开链接: http://localhost:5000,如上所述
于 2020-08-21T08:15:28.847 回答