Inspired by this repo.
- go to server where you want to deploy mlflow
- clone repository and move into it:
git clone git@github.com:antklen/mlflow-server.git
cd mlflow-server- build docker image (only for the first time):
sh build_mlflow.sh - define environment variables with ports (could be any free ports, values here are just for example):
export MLFLOW_PORT=5000
export MINIO_API_PORT=9010
export MINIO_CONSOLE_PORT=9011- run docker-compose:
docker-compose up - for the first time go to minio console
http://{host}:{MINIO_CONSOLE_PORT}and create bucket with namemlflow
For logging experiments in python:
import os
import mlflow
os.environ['MLFLOW_S3_ENDPOINT_URL'] = 'http://{host}:{MINIO_API_PORT}'
os.environ['AWS_ACCESS_KEY_ID'] = 'mlflow' # defined in docker-compose.yml
os.environ['AWS_SECRET_ACCESS_KEY'] = 'mlflow_pass' # defined in docker-compose.yml
mlflow.set_tracking_uri('http://{host}:{MLFLOW_PORT}')Go to http://{host}:{MLFLOW_PORT} to see mlflow UI.