mnist-mlops-learning icon indicating copy to clipboard operation
mnist-mlops-learning copied to clipboard

In this project I played with mlflow, streamlit and fastapi to create a training and prediction app on digits

Fastapi + MLflow + streamlit

Setup env. I hope I covered all.

pip install -r requirements.txt

Start app

Go in the root dir and run these

Streamlit

streamlit run frontend/streamlit_main.py

FastAPI

uvicorn backend.main:app

MLflow UI

mlflow ui --backend-store-uri sqlite:///db/bakckend.db

Docker

  • Mlflow: http://localhost:5000
  • FastApi: http://localhost:8000/docs
  • Streamlit: http://localhost:8501/
docker-compose build
docker-compose up

Architecture

image

UI

image image

TODO

  • [x] Dockerize
  • [ ] Testing
  • [ ] Maybe add celery instead of that background task? (Needs extra configs though)