
# vit-base-patch16-224-in21k_brain_tumor_diagnosis

This model is a fine-tuned version of [google/vit-base-patch16-224-in21k](https://huggingface.co/google/vit-base-patch16-224-in21k) on the imagefolder dataset.
It achieves the following results on the evaluation set:
- Loss: 0.2591
- Accuracy: 0.9216
- F1: 0.9375
- Recall: 1.0
- Precision: 0.8824

## Model description

This is a binary classification model to distinguish between if the MRI images detect a brain tumor or not.

For more information on how it was created, check out the following link: https://github.com/DunnBC22/Vision_Audio_and_Multimodal_Projects/blob/main/Computer%20Vision/Image%20Classification/Binary%20Classification/Brain%20Tumor%20MRI%20Images/brain_tumor_MRI_Images_ViT.ipynb

## Intended uses & limitations

This model is intended to demonstrate my ability to solve a complex problem using technology.

## Training and evaluation data

Dataset Source: https://www.kaggle.com/datasets/navoneel/brain-mri-images-for-brain-tumor-detection

_Sample Images From Dataset:_

![Sample Images](https://github.com/DunnBC22/Vision_Audio_and_Multimodal_Projects/raw/main/Computer%20Vision/Image%20Classification/Binary%20Classification/Brain%20Tumor%20MRI%20Images/Images/Sample%20Images.png)

## Training procedure

### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 0.0002
- train_batch_size: 16
- eval_batch_size: 8
- seed: 42
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- num_epochs: 5

### Training results

| Training Loss | Epoch | Step | Validation Loss | Accuracy | F1     | Recall | Precision |
|:-------------:|:-----:|:----:|:---------------:|:--------:|:------:|:------:|:---------:|
| 0.7101        | 1.0   | 13   | 0.3351          | 0.9412   | 0.9474 | 0.9    | 1.0       |
| 0.7101        | 2.0   | 26   | 0.3078          | 0.9020   | 0.9231 | 1.0    | 0.8571    |
| 0.7101        | 3.0   | 39   | 0.2591          | 0.9216   | 0.9375 | 1.0    | 0.8824    |
| 0.7101        | 4.0   | 52   | 0.2702          | 0.9020   | 0.9123 | 0.8667 | 0.9630    |
| 0.7101        | 5.0   | 65   | 0.2855          | 0.9020   | 0.9123 | 0.8667 | 0.9630    |


### Framework versions

- Transformers 4.25.1
- Pytorch 1.12.1
- Datasets 2.8.0
- Tokenizers 0.12.1
no yes