A newer version of the Gradio SDK is available: 6.20.0
title: Brain Tumor MRI Classifier
emoji: 🔥
colorFrom: purple
colorTo: purple
sdk: gradio
sdk_version: 6.14.0
python_version: '3.13'
app_file: app.py
pinned: false
license: mit
short_description: Brain tumor MRI 4-class classifier with patient-level split
Brain Tumor MRI Classifier
A 4-class brain tumor classifier built with EfficientNet-B3, trained with rigorous patient-level data splitting.
Test accuracy: 95.05% (TTA) on 687 unseen patients Macro AUC: 0.9965 Patient leakage: 0 (verified by set intersection)
This demo lets you upload a brain MRI and see:
- Which of 4 classes the model predicts (glioma, meningioma, no tumor, pituitary)
- Confidence percentages for all 4 classes
- A Grad-CAM heatmap showing where the model focused
⚠️ Medical Disclaimer
This is a portfolio/research demonstration. It must NOT be used for any medical decision-making. The model has not been validated in a clinical setting and has not been reviewed by radiologists.
Why this project is different
Most public brain tumor classifiers use image-level random splits, which leak patient information between train and test sets. This project uses patient-level splitting — no patient's MRI appears in more than one split. The 95.05% accuracy is honest, not inflated.
Built with
- PyTorch + timm (EfficientNet-B3)
- pytorch-grad-cam for interpretability
- Gradio for the web interface
Author
Tanishq Arya — GitHub
Full project details, training code, and analysis on the GitHub repository.