This repo contains sample code for the End to End machine learning for used car price prediction. Data set used for the project is Vehicle dataset from kaggle
- Suggested to try the project by creating a virtual environment
python -m venv env_end2endML
- Activate the virutal environment
- Install the dependencies using the command
pip install -r requirements.txt
- Download the data
- Modify the configuration according to needs in
config.yaml
- Train the model by running
python src/train.py
- After step 3, you will be prompted to enter wandb login details to track the experiments, metrics and artifcats
- For hyper parameter sweep run
wandb agent username/project-name/sweepcode
- Check previous experiments and sweeps here
- Check model artifacts with versioning here
- Python applicaton work flow to check if training pipeline is not broken after every push/pull.
- Extend test cases if needed here or here
- Docker build workflow to check if docker image building is successful after every push/pull.
- Make predictions on the validation set by running
python src/predict.py
- To run the streamlit app
streamlit run src/app.py
- After step 12 open the browser if you are running in your local machine or check step 14
- Check the public app
- To serve using fast API using following commands
cd fastapi
uvicorn main:app -reload
- Configure the Docker image by editing the
Dockerfile
- Build the docker image using
sudo docker run -p 8051:8051 appname:tag
This benchmark took approximately 0.5 hours to execute on a Windows 10 laptop with 12GB of RAM and 8 cores at 2GHz.