license: apache-2.0
base_model: google/vit-base-patch16-224
tags:
- image-classification
- generated_from_trainer
datasets:
- imagefolder
- Mahadih534/brain-tumor-dataset
metrics:
- accuracy
- precision
- recall
- f1
model-index:
- name: vit-base-oxford-brain-tumor_x-ray
results:
- task:
name: Image Classification
type: image-classification
dataset:
name: Mahadih534/brain-tumor-dataset
type: imagefolder
config: default
split: train
args: default
metrics:
- name: Accuracy
type: accuracy
value: 0.9230769230769231
- name: Precision
type: precision
value: 0.9230769230769231
- name: Recall
type: recall
value: 0.9230769230769231
- name: F1
type: f1
value: 0.9230769230769231
pipeline_tag: image-classification
vit-base-oxford-brain-tumor_x-ray
This model is a fine-tuned version of google/vit-base-patch16-224 on the Mahadih534/brain-tumor-dataset dataset. It achieves the following results on the evaluation set:
- Loss: 0.2882
- Accuracy: 0.9231
- Precision: 0.9231
- Recall: 0.9231
- F1: 0.9231
Model description
This model is a fine-tuned version of google/vit-base-patch16-224, which is a Vision Transformer (ViT)
ViT model is originaly a transformer encoder model pre-trained and fine-tuned on ImageNet 2012. It was introduced in the paper "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale" by Dosovitskiy et al. The model processes images as sequences of 16x16 patches, adding a [CLS] token for classification tasks, and uses absolute position embeddings. Pre-training enables the model to learn rich image representations, which can be leveraged for downstream tasks by adding a linear classifier on top of the [CLS] token. The weights were converted from the timm repository by Ross Wightman.
Intended uses & limitations
This must be used for classification of x-ray images of the brain to diagnose of brain tumor.
Training and evaluation data
The model was fine-tuned in the dataset Mahadih534/brain-tumor-dataset that contains 253 brain images. This dataset was originally created by Yousef Ghanem.
The original dataset was splitted into training and evaluation subsets, 80% for training and 20% for evaluation. For robust framework evaluation, the evaluation subset is further split into two equal parts for validation and testing. This results in three distinct datasets: training, validation, and testing
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 0.0003
- train_batch_size: 20
- eval_batch_size: 8
- seed: 42
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- num_epochs: 4
Training results
Training Loss | Epoch | Step | Validation Loss | Accuracy | Precision | Recall | F1 |
---|---|---|---|---|---|---|---|
0.6519 | 1.0 | 11 | 0.3817 | 0.8 | 0.8476 | 0.8 | 0.7751 |
0.2616 | 2.0 | 22 | 0.0675 | 0.96 | 0.9624 | 0.96 | 0.9594 |
0.1219 | 3.0 | 33 | 0.1770 | 0.92 | 0.9289 | 0.92 | 0.9174 |
0.0527 | 4.0 | 44 | 0.0234 | 1.0 | 1.0 | 1.0 | 1.0 |
Framework versions
- Transformers 4.41.2
- Pytorch 2.3.0+cu121
- Datasets 2.20.0
- Tokenizers 0.19.1