Vision Transformer for Brain Tumor Multiclass Classification (v2)
This model is a fine-tuned Vision Transformer (ViT) for multiclass brain tumor MRI classification. It predicts one of the following five classes:
• Glioma
• Meningioma
• Pituitary Tumor
• No Tumor
• Unknown
The model is integrated into an online diagnostic support platform at https://www.medscanai.net/.
Model Details
- Base Model: google/vit-base-patch16-224-in21k
- Architecture: Vision Transformer
- Image Size: 224 × 224
- Number of Classes: 5
- License: CC-BY-NC 4.0
- Intended Use: Research and educational purposes only
- Not for clinical diagnosis
Dataset
The primary dataset is sourced from the Kaggle "Brain Tumor MRI Dataset" by Masoud Nickparvar.
Additional "unknown" category samples were collected from publicly available online sources to evaluate robustness.
Training
- 20 epochs using Hugging Face Trainer
- Learning rate: 3e-5
- Augmentation: flips, rotation, brightness/contrast jittering
- Optimizer: AdamW
- Evaluation metric: Accuracy
Performance
| Class | Precision | Recall | F1-score |
|---|---|---|---|
| Glioma | 0.97 | 0.98 | 0.98 |
| Meningioma | 0.97 | 0.96 | 0.97 |
| No Tumor | 0.99 | 1.00 | 0.99 |
| Pituitary | 0.99 | 0.99 | 0.99 |
| Unknown | 1.00 | 0.99 | 1.00 |
Overall accuracy: 98 percent
How to Use
from transformers import AutoModelForImageClassification, AutoImageProcessor
from PIL import Image
import torch
model = AutoModelForImageClassification.from_pretrained("itistamtran/vit_brain_tumor_multiclass_v2")
processor = AutoImageProcessor.from_pretrained("itistamtran/vit_brain_tumor_multiclass_v2")
image = Image.open("mri_image.png")
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
preds = outputs.logits.argmax(dim=1)
print(preds)
- Downloads last month
- 85
Model tree for itistamtran/vit_brain_tumor_multiclass_v2
Base model
google/vit-base-patch16-224-in21k