- The dataset used in this project is the Overhead-MNIST dataset and it can be found here
- The dataset contains 10 classes
- This repo contains an end-to-end deep learning project deployment for overhead image classification
- Weights and Biases has been used for the MLOps
- For deployment, an API has been developed and deployed using FastAPI and docker
- For the training, the dataset is split into 95% - 5% for train and validation sets respectively
- The python packages are listed in requirements.txt
- The docker container can be deployed using Dockerfile
- For training and logging the model, use the modeling/train.py script
- The FastAPI app deployment code is in app.py script
- To test the deployed FastAPI app on a local machine, the test_post_request.py script can be used
- Some sample test images are available in sample_test_images
- For deployment requirements_deployment.txt needs to be used
- To build the container, run the following command
docker build -t fastapi_overhead_mnist .
- To the run the container, run the following command
docker run -p 7860:7860 -t fastapi_overhead_mnist
- The FastAPI application has also been deployed to HuggingFace
- To test the deployed FastAPI app on HuggingFace, use the test_post_request.py script in the HuggingFace repo since the endpoint is different
- The docs generated with sphinx can be found in _build/html/index.html