Kidney-Classy is an AI-based system designed to classify kidney diseases from medical images using deep learning. The project implements a complete machine learning workflow including data ingestion, model training, evaluation, and deployment through a web application.
The system leverages TensorFlow/Keras for building the deep learning model, MLflow for experiment tracking, and DVC (Data Version Control) for managing datasets and pipeline stages. A Flask API is used to provide endpoints for training and prediction, making it easy to interact with the model.
- Deep learning model for kidney disease image classification
- End-to-end machine learning pipeline
- Experiment tracking using MLflow
- Data and pipeline versioning with DVC
- REST API built with Flask
- Simple web interface for interaction
- Python
- TensorFlow / Keras
- Flask
- MLflow
- DVC
- NumPy / Pandas
https://github.com/awithaaa/Kidney-Classy
cd Kidney-Classyconda create -n kidney python=3.13 -y
conda activate kidneypip install -r requirements.txtBefore using the prediction endpoint, the model must be trained.
Trigger the training pipeline through the API:
curl -X POST http://localhost:8080/trainThis command runs the training pipeline configured with DVC and logs experiments using MLflow.
python app.pyOnce the server starts, open the following address in your browser:
http://localhost:8080
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Loads the web interface |
/train |
POST | Runs the training pipeline |
/predict |
POST | Upload an image and receive prediction |
The Kidney-Classy project follows a structured ML pipeline consisting of several stages:
-
Data Ingestion Collects and prepares the dataset required for training.
-
Base Model Preparation Defines the deep learning architecture used for classification.
-
Model Training Trains the neural network using the processed dataset.
-
Model Evaluation Evaluates model performance and records metrics using MLflow.
All training experiments are logged using MLflow, allowing you to track:
- Training parameters
- Model metrics
- Model versions
- Experiment history
This project uses DVC to manage datasets and pipeline stages. It helps maintain reproducibility and version control for machine learning workflows.