This project implements a deep learning solution for classifying chest CT scans to detect adenocarcinoma cancer. It uses a VGG16-based convolutional neural network to analyze medical images and classify them as either normal or showing signs of adenocarcinoma cancer.
- Python 3.11
- TensorFlow 2.12.0
- Flask
- DVC (Data Version Control)
- MLflow
- Docker
The project follows a modular architecture with the following components:
- Data Ingestion: Downloads and extracts the dataset
- Base Model Preparation: Configures the VGG16 model for transfer learning
- Model Training: Trains the model with data augmentation
- Model Evaluation: Evaluates model performance and logs metrics
- End-to-end ML pipeline with DVC for reproducibility
- Web interface for real-time predictions
- Docker containerization for easy deployment
- CI/CD pipeline using GitHub Actions
- AWS integration for model deployment
- Python 3.11
- Docker (optional)
- Clone the repository
git clone https://github.com/your-username/Chest-Cancer-Classification.git
cd Chest-Cancer-Classification- Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- Install dependencies
pip install -r requirements.txtpython app.pydocker build -t chest-cancer-classifier .
docker run -p 8080:8080 chest-cancer-classifierTo run the complete training pipeline:
python main.pyOr using DVC:
dvc repro- GET / - Web interface for uploading and classifying images
- POST /predict - API endpoint for image classification
- GET /train - Trigger model retraining
Configuration parameters are stored in:
params.yaml: Model hyperparametersconfig/config.yaml: Pipeline configuration
The project includes a complete CI/CD workflow for AWS deployment:
- Code is tested and linted
- Docker image is built and pushed to Amazon ECR
- Application is deployed to a self-hosted runner
This guy help me to land a AI Engineer job One day more