我在远程跟踪服务器上训练期间使用 MLFLOW 存储一些参数和指标。现在我还尝试添加一个 .png 文件作为工件,但由于 MLFLOW 服务器远程运行,我将该文件存储在 ftp 服务器上。我通过以下方式给出了 ftp 服务器地址和 MLFLOW 路径:
mlflow server --backend-store-uri sqlite:///mlflow.sqlite --default-artifact-root ftp://user:password@1.2.3.4/artifacts/ --host 0.0.0.0 &
Run Code Online (Sandbox Code Playgroud)
现在我训练一个网络并通过运行以下命令来存储工件:
mlflow.set_tracking_uri(remote_server_uri)
mlflow.set_experiment("default")
mlflow.pytorch.autolog()
with mlflow.start_run():
mlflow.log_params(flow_params)
trainer.fit(model)
trainer.test()
mlflow.log_artifact("confusion_matrix.png")
mlflow.end_run()
Run Code Online (Sandbox Code Playgroud)
我将 .png 文件保存在本地,然后将其记录到mlflow.log_artifact("confusion_matrix.png")ftp 服务器上与实验对应的右侧文件夹中。到目前为止,一切正常,只是该工件没有显示在在线 mlflow ui 中。记录的参数和指标正常显示。工件面板保持空白,仅显示
No Artifacts Recorded
Use the log artifact APIs to store file outputs from MLflow runs.
Run Code Online (Sandbox Code Playgroud)
我发现了类似的线程,但仅限于在本地 mlflow 存储上遇到相同问题的用户。不幸的是,我无法将这些修复应用于我的问题。有人知道如何解决这个问题吗?