This is the final project for a MLOps 💻 lesson from Master 2 SISE (Université Lumière Lyon 2) headed by Fanilo ANDRIANASOLO. The aim of this project was to build a full-stack Dockerized Machine Learning app 📈 with Streamlit, a Python framework to build apps easily and quickly.
This app provides an UI to do predictions on a pretrained ML model using Archipelago penguins training dataset 🐧 and a logistic regression.
The app folder is made up of 2 subfolders:
- client: a folder that contains images (
images), a Python file (app.py), aDockerfile, and a requirements file (.txt) for installing dependencies. - server: a Python file (
app.py) for the app, aDockerfile, a pre-trained model (model.pkl), a requirements file (.txt) for installing dependencies, and a Python file (train.py) for the training of the ML model.
The app folder also contains a docker-compose.yml file.
This app enables you to predict penguin species (i.e., Adelie, Gentoo, Chinstrap) based on certain characteristics (more information on the app's home page).
To launch the app, you need (1) to launch Docker Desktop and (2) to download the app folder first. Then, (3) simply run the following command lines:
$ cd /path/to/folder/app
$ docker compose up --buildand retrieve the client URL (as below) and paste it into your favorite browser:
client-1 | URL: http://0.0.0.0:8501/Annabelle NARSAMA