This project is created as the capstome project of the Machine Learning Zoomcamp, and it will be peer reviewed and scored.
The objective is to build a model to predict the quality of the wine.
This project uses the wine quality datasets available at the UCI website. The two datasets are related to red and white wine samples, from the north of Portugal.
The following figure depicts the system architecture and technologies used:
This project has as main pre-requisites:
- Python 3.10
- Docker 20.10.20
- Bentoml 1.0.8
How to run:
- Clone this repo
- Open a terminal within that folder
- Run
pip install pipenv
- Run
pipenv install
, to install the dependencies from Pipfile - Run
pipenv shell
- Run
python train.py
- Run
bentoml build
- Run
bentoml containerize wine
- Run
docker run -it --rm -p 3000:3000 wine:<tag> serve --production
, where tag is obtained in the previous step. - Finally, run
python test_predict.py
to send API requests to test it, or use the Swagger-UI as shown in the following figure: