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?
Asked
Active
Viewed 975 times
2 Answers
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
-
Oh, great. I will look to that repo thanks. – tkarahan Aug 04 '21 at 07:24
-
It didn't work, but I managed to do that in a different way. – tkarahan Aug 16 '21 at 06:18
-
@tkarahan how ? – Rémy Hosseinkhan Boucher Oct 12 '22 at 12:24
-
1@RémyHosseinkhanBoucher refer below. – tkarahan Oct 26 '22 at 07:44
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