2

I have a user in a Linux machine and I run a mlflow server from this user. Artifacts are stored in local mlruns folder. Lets call this user as user A. Then I run another mlflow server from another Linux user and call this user as user B. I wanted to move older experiments that resides in mlruns directory of user A to mlflow that run in user B. I simply moved mlruns directory of user A to the home directory of user B and run mlflow from there again. When I accessed to mlflow UI by browser I saw that artifact location is configured correctly to mlruns folder of user B, but I couldn't see the experiments that moved from user A's mlruns directory. How can I see them in the UI too?

tkarahan
  • 315
  • 1
  • 2
  • 15

2 Answers2

2

You want to use the official MLflow API to migrate experiments and runs between tracking servers. See: https://github.com/amesar/mlflow-export-import

Andre
  • 304
  • 1
  • 2
0

I managed to migrate experiments and runs from the older server to the new server by following these steps:

  • I copied mlruns directory to the new server's location.
  • I created a different PostgreSQL database with the exact same content of the older server.
  • I changed artifact_uri field of RUNS table and artifact_location field of EXPERIMENTS table in the database to reflect new location of the experiments and runs.
  • Started server as this: mlflow server --backend-store-uri <postgresql-db> <db-pass>@<db> --default-artifact-root <new-artifact-location> -h 0.0.0.0 -p 8000
tkarahan
  • 315
  • 1
  • 2
  • 15