This repository contains the code and resources for an end-to-end machine learning project aimed at classifying diseases from medical images. This project uses DVC (Data Version Control) to manage the pipelines and the VGG16 model for image classification.
The project focuses on predicting whether a subject is healthy or has a specific disease (e.g., Coccidiosis) using machine learning techniques. It involves several stages including data ingestion, model selection, training, evaluation, and deployment.
The project is structured as follows:
config/config.yaml
: Contains the path configuration for the stages in the pipeline.src/components
: Contains methods for data ingestion, model tuning, model training, and evaluation.src/config
: Configuration manager to retrieve necessary settings fromconfig.yaml
andparams.yaml
.src/pipeline
: Contains pipelines for stages involved in the machine learning process.src/utils
: Common utility functions reused throughout the project.templates/
: HTML templates for the web interface.app.py
: Flask application for model deployment and prediction.Dockerfile
: Docker configuration for containerizing the application.dvc.yaml
: Data Version Control file to handle pipelines for this project.main.py
: Script to run all the pipelines from scratch.params.yaml
: Contains parameters for data augmentation, model configuration, and training.requirements.txt
: File containing the necessary dependencies to run the project.
To get started with the project, follow these steps:
- Clone this repository to your local machine.
git clone https://github.com/RiteshYennuwar/ETE_Disease_Classification.git cd ETE_Disease_Classification
- Install the required dependencies using
pip install -r requirements.txt
- Flask App: To start the application and run the DVC pipeline for data ingestion, model training, and evaluation, execute the following command:
python app.py
After running the command, navigate to http://127.0.0.1:4000 in your web browser to access the application.
Image Upload : Make sure to upload an image of the chicken fecal matter that you suspect to have Coccidiosis disease for prediction.
To containerize the application and run it using Docker, follow these steps:
- Build the Docker image:
docker build -t disease-classification-app .
- Run the Docker container:
docker run -p 4000:4000 disease-classification-app
- Access the web interface at
http://localhost:4000
.
Contributions are welcome! If you'd like to contribute to this project, feel free to submit a pull request.