
<h1>vit-base-patch16-224-in21k-Brain_Tumors_Image_Classification</h1>

This model is a fine-tuned version of [google/vit-base-patch16-224-in21k](https://huggingface.co/google/vit-base-patch16-224-in21k).

It achieves the following results on the evaluation set:
- Loss: 0.8584
- Accuracy: 0.8198
- Weighted f1: 0.7987
- Micro f1: 0.8198
- Macro f1: 0.8054
- Weighted recall: 0.8198
- Micro recall: 0.8198
- Macro recall: 0.8149
- Weighted precision: 0.8615
- Micro precision: 0.8198
- Macro precision: 0.8769

<div style="text-align: center;">
<h2>
    Model Description
</h2>

<a href=“https://github.com/DunnBC22/Vision_Audio_and_Multimodal_Projects/blob/main/Computer%20Vision/Image%20Classification/Multiclass%20Classification/Brain%20Tumors%20Image%20Classification%20Comparison/Vit%20-%20Image%20Classification.ipynb”>
    Click here for the code that I used to create this model.
</a>

This project is part of a comparison of seventeen (17) transformers. 


<a href="https://github.com/DunnBC22/Vision_Audio_and_Multimodal_Projects/blob/main/Computer%20Vision/Image%20Classification/Multiclass%20Classification/Brain%20Tumors%20Image%20Classification%20Comparison/README.md">
    Click here to see the README markdown file for the full project.
</a>

<h2>
    Intended Uses & Limitations
</h2>
This model is intended to demonstrate my ability to solve a complex problem using technology.
<br />

<h2>
    Training & Evaluation Data
</h2>
<a href="https://www.kaggle.com/datasets/sartajbhuvaji/brain-tumor-classification-mri">
    Brain Tumor Image Classification Dataset
</a>
<h2>
    Sample Images
</h2>
<img src="https://github.com/DunnBC22/Vision_Audio_and_Multimodal_Projects/raw/main/Computer%20Vision/Image%20Classification/Multiclass%20Classification/Brain%20Tumors%20Image%20Classification%20Comparison/Images/Sample%20Images.png" />
<h2>
    Class Distribution of Training Dataset
</h2>
<img src="https://github.com/DunnBC22/Vision_Audio_and_Multimodal_Projects/raw/main/Computer%20Vision/Image%20Classification/Multiclass%20Classification/Brain%20Tumors%20Image%20Classification%20Comparison/Images/Class%20Distribution%20-%20Training%20Dataset.png"/>
<h2>
    Class Distribution of Evaluation Dataset
</h2>
<img src="https://github.com/DunnBC22/Vision_Audio_and_Multimodal_Projects/raw/main/Computer%20Vision/Image%20Classification/Multiclass%20Classification/Brain%20Tumors%20Image%20Classification%20Comparison/Images/Class%20Distribution%20-%20Testing%20Dataset.png"/>
</div>

## 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: 3

### Training results

| Training Loss | Epoch | Step | Validation Loss | Accuracy | Weighted f1 | Micro f1 | Macro f1 | Weighted recall | Micro recall | Macro recall | Weighted precision | Micro precision | Macro precision |
|:-------------:|:-----:|:----:|:---------------:|:--------:|:-----------:|:--------:|:--------:|:---------------:|:------------:|:------------:|:------------------:|:---------------:|:---------------:|
| 1.3668        | 1.0   | 180  | 1.0736          | 0.6853   | 0.6524      | 0.6853   | 0.6428   | 0.6853          | 0.6853       | 0.6530       | 0.7637             | 0.6853          | 0.7866          |
| 1.3668        | 2.0   | 360  | 1.0249          | 0.7792   | 0.7335      | 0.7792   | 0.7411   | 0.7792          | 0.7792       | 0.7758       | 0.8391             | 0.7792          | 0.8528          |
| 0.1864        | 3.0   | 540  | 0.8584          | 0.8198   | 0.7987      | 0.8198   | 0.8054   | 0.8198          | 0.8198       | 0.8149       | 0.8615             | 0.8198          | 0.8769          |

### Framework versions

- Transformers 4.28.1
- Pytorch 2.0.0
- Datasets 2.11.0
- Tokenizers 0.13.3
glioma_tumor meningioma_tumor no_tumor pituitary_tumor