This project aims to classify diseases in chickens using a deep learning model. The repository contains all the necessary code, configurations, and instructions to train, evaluate, and deploy the model using CI/CD pipelines.
- Python 3.8+
- Git
- DVC (Data Version Control)
- Virtual environment tool (e.g.,
venv,conda)
- Create and Activate a Conda Environment:
conda create -n chicken python=3.8 -y
conda activate chicken 2. Install Dependencies: ```bash pip install -r requirements.txt
- Create Necessary Files and Directories: Run template.py to create all necessary directories and files: ```bash python template.py
2.Add, Commit, and Push to GitHub: ```bash git add . git commit -m "Initial commit" git push origin main
- Editable Installation:
To use setup.py as a package in editable mode, include -e . in requirements.txt.
-
Logging Setup: Logs are stored using:
```bash logging.basicConfig(level=logging.INFO, format='[%(asctime)s]: %(message)s:') -
Creating cnnClassifier Package:
Logging setup for cnnClassifier: ```bash logging_str = "[%(asctime)s: %(levelname)s: %(module)s: %(message)s]"
- Testing the Package:
Create main.py and test the cnnClassifier package:
```bash
from cnnClassifier import logger
logger.info("Welcome to my log")
-
Download and Extract Dataset:
a. Update config.yaml with the dataset URL. b. Implement DataIngestion class in data_ingestion.py.
-
Pipeline Stages:
a. Implement pipeline stages in pipeline/stage_01_data_ingestion.py.
-
Prepare Base Model:
a. Store necessary parameters in params.yaml. b. Implement prepare_base_model.py.
-
Training and Evaluation:
Follow the pipeline structure to implement training and evaluation scripts.
- CI/CD Pipeline with Azure:
a. Create a Dockerfile and push the image to Azure Container Registry. b. Deploy the web app using Azure Web App Service.
- DVC Pipeline:
a. Initialize DVC and run the pipeline stages with dvc repro.
a. Artifact Management: Include artifacts/* in .gitignore to avoid adding generated files to the repository. b. App Integration: Flask API is used for training, prediction, and root endpoints. c. Azure CI/CD: Detailed steps for setting up continuous deployment using Azure.
1.Update config.yaml. 2. Update params.yaml. 3. Implement pipeline stages in the order: Data Ingestion → Prepare Base Model → Training → Evaluation. 4. Deploy using DVC and Azure.
- DVC Pipeline:
dvc init dvc repro
- Flask App:
python app.py
This project provides a comprehensive structure for chicken disease classification using deep learning, with CI/CD integration for deployment. Follow the steps above to clone, develop, and deploy the project.

