the-shoaib2's picture
Update README.md
3a12c5c verified
---
tags:
- image-classification
- tensorflow
- medical
- mri
- brain-tumor
datasets:
- the-shoaib2/Brain_Tumor_MRI
library_name: tensorflow
pipeline_tag: image-classification
license: mit
---
# MRI Brain Tumor Classification Model V3
This model is a fine-tuned Xception network for classifying brain MRI scans into 4 categories:
`glioma`, `meningioma`, `notumor`, `pituitary`.
## Model Details
- **Architecture**: Xception (Pre-trained on ImageNet)
- **Input Size**: (299, 299)
- **Framework**: TensorFlow / Keras
- **Classes**: 4 (glioma, meningioma, notumor, pituitary)
## Training Configuration
- **Epochs**: 10
- **Batch Size**: 32
- **Learning Rate**: 0.001
- **Optimizer**: Adamax
- **Loss**: Categorical Crossentropy
- **Metrics**: Accuracy, Precision, Recall
## Performance Metrics
```text
Final Training Metrics (Epoch 10):
- Training Accuracy: 0.9979
- Training Loss: 0.0076
- Validation Accuracy: 0.9786
- Validation Loss: 0.1827
- Precision: 0.9979
- Recall: 0.9977
```
## Training History
### Metrics Plot
![Training History](training_history.png)
### Final Metrics
![Training Metrics Final](training_metrics_final.png)
## Confusion Matrix
![Confusion Matrix](conf_matrix.png)
## Data Distribution
![Training Data Distribution](count_train.png)
![Test Data Distribution](count_test.png)
## Sample Predictions
![Data Samples](data_samples.png)
## Usage
```python
import tensorflow as tf
from huggingface_hub import from_pretrained_keras
import numpy as np
from PIL import Image
# Load model
model = from_pretrained_keras("the-shoaib2/Brain_Tumor_MRI_Classification")
# Load and preprocess image
img = Image.open("path/to/mri_scan.jpg")
img = img.resize((299, 299))
img_array = np.array(img)
img_array = np.expand_dims(img_array, axis=0)
img_array = img_array / 255.0
# Predict
predictions = model.predict(img_array)
class_names = ['glioma', 'meningioma', 'notumor', 'pituitary']
predicted_class = class_names[np.argmax(predictions[0])]
confidence = np.max(predictions[0])
print(f"Predicted: {predicted_class} ({confidence:.2%} confidence)")
```
## Model Architecture
The model uses transfer learning with Xception as the base:
- Xception base (pre-trained on ImageNet)
- Global Max Pooling
- Flatten layer
- Dropout (0.3)
- Dense layer (128 units, ReLU activation)
- Dropout (0.25)
- Output layer (4 units, Softmax activation)
## Dataset
This model was trained on the [Brain Tumor MRI Dataset](https://huggingface.co/datasets/the-shoaib2/Brain_Tumor_MRI).
## Citation
If you use this model, please cite:
```bibtex
@misc{brain_tumor_mri_v3,
author = {Shoaib},
title = {MRI Brain Tumor Classification Model V3},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/the-shoaib2/Brain_Tumor_MRI_Classification}}
}
```