Instructions to use MohammedAH/Brrain-MRI-Classification with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use MohammedAH/Brrain-MRI-Classification with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://MohammedAH/Brrain-MRI-Classification") - Notebooks
- Google Colab
- Kaggle
File size: 3,758 Bytes
a0ebe2b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | ---
license: mit
language:
- en
pipeline_tag: image-classification
library_name: keras
---
# 🧠 Brain Tumor Multi-Class Classification (TensorFlow)
## Model Details
* **Model Name:** Brain Tumor Classification Model
* **Model Type:** Multi-class Image Classification
* **Framework:** TensorFlow / Keras
* **Architecture:** Convolutional Neural Network (CNN) *(or specify: e.g., EfficientNetB0, ResNet50, etc.)*
* **Task:** Classify brain MRI images into four categories:
* No Tumor
* Meningioma
* Glioma
* Pituitary Tumor
---
## Intended Use
### Primary Use Cases
* Assistive diagnostic tool for detecting brain tumor types from MRI scans
* Educational and research purposes
* Prototype for AI-powered medical imaging systems
### Out-of-Scope Use
* Not intended for real-world clinical diagnosis without expert validation
* Should not replace medical professionals
---
## Dataset
* **Type:** Brain MRI images
* **Classes:** 4 (No Tumor, Meningioma, Glioma, Pituitary)
* **Input Shape:** (e.g., 224 × 224 × 3)
* **Preprocessing:**
* Resizing to fixed dimensions
* Normalization (pixel values scaled to [0,1])
* Data augmentation (rotation, flipping, zooming)
*(Add dataset source if public, e.g., Kaggle or hospital dataset)*
---
## Model Architecture
* Base model: *(e.g., EfficientNetB0 / Custom CNN)*
* Layers:
* Convolutional layers for feature extraction
* Pooling layers
* Fully connected dense layers
* Softmax output layer (4 neurons)
* **Loss Function:** Categorical Crossentropy
* **Optimizer:** Adam
* **Metrics:** Accuracy, Precision, Recall
---
## Training Details
* **Epochs:** (e.g., 20–50)
* **Batch Size:** (e.g., 16 or 32)
* **Train/Validation Split:** (e.g., 80/20)
* **Hardware:** CPU / GPU *(specify if available)*
---
## Evaluation Results
| Metric | Value (example) |
| --------- | --------------- |
| Accuracy | 92% |
| Precision | 91% |
| Recall | 90% |
| F1 Score | 90% |
### Confusion Matrix Insights
* Strong performance on **No Tumor** and **Pituitary**
* Some confusion between **Glioma** and **Meningioma** (common in MRI tasks)
---
## Limitations
* Performance depends heavily on dataset quality and diversity
* May not generalize well to:
* Different MRI machines
* Different populations
* Class imbalance can affect predictions
* Cannot explain predictions (unless paired with explainability tools like Grad-CAM)
---
## Ethical Considerations
* Risk of misclassification in sensitive medical contexts
* Must include human oversight in real applications
* Dataset bias could affect fairness across demographics
---
## How to Use
```python
import tensorflow as tf
import numpy as np
import cv2
model = tf.keras.models.load_model("model.h5")
img = cv2.imread("image.jpg")
img = cv2.resize(img, (224, 224))
img = img / 255.0
img = np.expand_dims(img, axis=0)
prediction = model.predict(img)
classes = ["No Tumor", "Meningioma", "Glioma", "Pituitary"]
print("Prediction:", classes[np.argmax(prediction)])
```
---
## Model Outputs
* **Input:** MRI brain image
* **Output:** Probability distribution across 4 classes
Example:
```
[0.85, 0.05, 0.07, 0.03]
→ No Tumor
```
---
## Future Improvements
* Use transfer learning (EfficientNet, Vision Transformers)
* Add explainability (Grad-CAM heatmaps)
* Deploy with optimized inference (TensorFlow Lite)
* Improve dataset diversity and size
---
## License
* Specify license (e.g., MIT, Apache 2.0)
---
## Contact
* Name: *(Your Name)*
* Project: *(e.g., NeuroScopeAI)*
* Email/GitHub: *(optional)*
---
If you want, I can **upgrade this into a Hugging Face model card format (README.md)** so you can upload it directly with your model. |