将实验从一个MLFlow服务器复制到另一个MLFlow服务器



我在Linux机器上有一个用户,我从这个用户运行一个mlflow服务器。工件存储在本地mlruns文件夹中。然后我从另一个Linux用户运行另一个mlflow服务器,并以用户B的身份调用该用户。我想将用户A的mlruns目录中的旧实验移动到用户B中运行的mlflow。我只是将用户A的mlruns目录移动到用户B的主目录中,并再次从那里运行mlflow。当我通过浏览器访问mlflow UI时,我看到工件位置被正确地配置为用户B的mlruns文件夹,但是我看不到从用户A的mlruns目录中移动的实验。如何在UI中看到它们?

您希望使用官方MLflow API在跟踪服务器之间迁移实验和运行。参见:https://github.com/amesar/mlflow-export-import

我按照以下步骤将实验和运行从旧服务器迁移到新服务器:

  • 我复制了mlruns目录到新服务器的位置。
  • 我创建了一个与旧服务器完全相同的内容的不同的PostgreSQL数据库。
  • 我修改了数据库中RUNS表的artifact_uri字段和EXPERIMENTS表的artifact_location字段,以反映实验和运行的新位置。
  • 启动服务器如下:mlflow server --backend-store-uri <postgresql-db> <db-pass>@<db> --default-artifact-root <new-artifact-location> -h 0.0.0.0 -p 8000

最新更新