I am trying to store metrics and artifacts on host after running MLProject in a docker environment.I am expecting that when the experiment completes successfully, artifacts, metrics folders in mlruns/ folder should have values and be shown on mlflow ui but artifacts, metrics folders in mlruns/ folder are empty. mlflow ui is also not reflecting the new experiment.
/home/mlflow_demo/mlflow-demo.py -
import mlflow
from mlflow.tracking import MlflowClient
from random import random
import pickle
client = MlflowClient()
experiment_id = client.create_experiment(name='first experiment')
run = client.create_run(experiment_id=experiment_id)
for i in range(1000):
client.log_metric(run.info.run_id,"foo",random(),step=i)
with open("test.txt","w") as f:
f.write("This is an artifact file")
client.log_artifact(run.info.run_id,"test.txt")
client.set_terminated(run.info.run_id)
/home/mlflow_demo/MLProject -
name: test-project
docker_env:
image: kusur/apex-pytorch-image:latest
entry_points:
main:
command: "python mlflow-demo.py"
command (executed in /home/mlflow_demo): - mlflow run .
After running the above code, I get the following log -
2021/07/06 12:22:28 INFO mlflow.projects.docker: === Building docker image test-project ===
2021/07/06 12:22:28 INFO mlflow.projects.utils: === Created directory /home/mlflow_demo/mlruns/tmpwa8ydc5j for downloading remote URIs passed to arguments of type 'path' ===
2021/07/06 12:22:28 INFO mlflow.projects.backend.local: === Running command 'docker run --rm -v /home/mlflow_demo/mlruns:/mlflow/tmp/mlruns -v /home/mlflow_demo/mlruns/0/0978fdd89ba44bf7b49975ab84838e82/artifacts:/home/mlflow_demo/mlruns/0/0978fdd89ba44bf7b49975ab84838e82/artifacts -e MLFLOW_RUN_ID=0978fdd89ba44bf7b49975ab84838e82 -e MLFLOW_TRACKING_URI=file:///mlflow/tmp/mlruns -e MLFLOW_EXPERIMENT_ID=0 test-project:latest python mlflow-demo.py' in run with ID '0978fdd89ba44bf7b49975ab84838e82' ===
...
2021/07/06 12:22:33 INFO mlflow.projects: === Run (ID '0978fdd89ba44bf7b49975ab84838e82') succeeded ===
Still the folders mlruns/0/0978fdd89ba44bf7b49975ab84838e82/artifacts and mlruns/0/0978fdd89ba44bf7b49975ab84838e82/metrics are empty.
Can someone please provide the pointers. Please let me know if the question isn't well framed.