Files
mlflow-docker-minio/README.md

59 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2020-08-24 00:43:21 +02:00
# MLFlow Docker Setup [![Actions Status](https://github.com/Toumash/mlflow-docker/workflows/VerifyDockerCompose/badge.svg)](https://github.com/Toumash/mlflow-docker/actions)
2020-08-24 00:04:53 +02:00
2021-12-03 22:22:39 +01:00
> If you want to boot up mlflow project with one-liner - this repo is for you.
> The only requirement is docker installed on your system and we are going to use Bash on linux/windows.
# 🚀 1-2-3! Setup guide
1. Configure `.env` file for your choice. You can put there anything you like, it will be used to configure you services
2. Run `docker compose up`
3. Open up http://localhost:5000 for MlFlow, and http://localhost:9001/ to browse your files in S3 artifact store
2020-08-24 00:04:53 +02:00
2018-11-22 21:13:29 +08:00
2022-05-05 14:48:58 +02:00
**👇Video tutorial how to set it up + BONUS with Microsoft Azure 👇**
2021-12-03 21:42:52 +01:00
2021-12-03 22:21:40 +01:00
[![Youtube tutorial](https://user-images.githubusercontent.com/9840635/144674240-f1ede224-410a-4b77-a7b8-450f45cc79ba.png)](https://www.youtube.com/watch?v=ma5lA19IJRA)
2020-09-06 22:08:23 +02:00
2020-08-24 16:44:18 +02:00
# Features
2021-12-03 21:42:52 +01:00
- One file setup (.env)
- Minio S3 artifact store with GUI
- MySql mlflow storage
- Ready to use bash scripts for python development!
- Automatically-created s3 buckets
2020-08-24 16:44:18 +02:00
2020-08-24 00:17:12 +02:00
2021-12-03 22:14:24 +01:00
## How to use in ML development in python
2020-08-24 00:17:12 +02:00
2021-12-03 22:14:24 +01:00
<details>
<summary>Click to show</summary>
2018-11-22 21:13:29 +08:00
2021-12-03 22:14:24 +01:00
1. Configure your client-side
2018-11-22 21:13:29 +08:00
For running mlflow files you need various environment variables set on the client side. To generate them use the convienience script `./bashrc_install.sh`, which installs it on your system or `./bashrc_generate.sh`, which just displays the config to copy & paste.
2018-11-22 21:13:29 +08:00
> $ ./bashrc_install.sh
> [ OK ] Successfully installed environment variables into your .bashrc!
2020-08-24 00:17:12 +02:00
The script installs this variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, MLFLOW_S3_ENDPOINT_URL, MLFLOW_TRACKING_URI. All of them are needed to use mlflow from the client-side.
2020-08-23 22:28:42 +02:00
2021-12-03 22:14:24 +01:00
2. Test the pipeline with below command with conda. If you dont have conda installed run with `--no-conda`
2020-08-23 22:28:42 +02:00
2020-08-23 23:27:00 +02:00
```shell
2020-08-24 00:17:12 +02:00
mlflow run git@github.com:databricks/mlflow-example.git -P alpha=0.5
2020-08-24 16:24:52 +02:00
# or
2020-08-24 00:17:12 +02:00
python ./quickstart/mlflow_tracking.py
```
2021-12-03 22:14:24 +01:00
3. *(Optional)* If you are constantly switching your environment you can use this environment variable syntax
2020-08-23 22:28:42 +02:00
2020-08-24 00:17:12 +02:00
```shell
MLFLOW_S3_ENDPOINT_URL=http://localhost:9000 MLFLOW_TRACKING_URI=http://localhost:5000 mlflow run git@github.com:databricks/mlflow-example.git -P alpha=0.5
2020-08-23 22:28:42 +02:00
```
2021-12-03 22:14:24 +01:00
</details>
2021-12-03 21:40:03 +01:00
2021-12-03 22:14:24 +01:00
2021-12-03 21:40:03 +01:00
## Licensing
Copyright (c) 2021 Tomasz Dłuski
Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License by reviewing the file [LICENSE](./LICENSE) in the repository.