
<h1>
  efficientformer-l3-300-Brain_Tumors_Image_Classification
</h1>

This model is a fine-tuned version of [snap-research/efficientformer-l3-300](https://huggingface.co/snap-research/efficientformer-l3-300).

It achieves the following results on the evaluation set:
- Loss: 2.2761
- Accuracy: 0.7817
- F1
  - Weighted: 0.7381
  - Micro: 0.7817
  - Macro: 0.7465
- Recall
  - Weighted: 0.7817
  - Micro: 0.7817
  - Macro: 0.7771
- Precision
  - Weighted: 0.8442
  - Micro: 0.7817
  - Macro: 0.8613

<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/EfficientFormer-%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.

<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.2856        | 1.0   | 180  | 1.4677          | 0.7284   | 0.6798      | 0.7284   | 0.6829   | 0.7284          | 0.7284       | 0.7133       | 0.8156             | 0.7284          | 0.8350          |
| 1.2856        | 2.0   | 360  | 2.1421          | 0.7563   | 0.7146      | 0.7563   | 0.7211   | 0.7563          | 0.7563       | 0.7471       | 0.8381             | 0.7563          | 0.8551          |
| 0.1405        | 3.0   | 540  | 2.2761          | 0.7817   | 0.7381      | 0.7817   | 0.7465   | 0.7817          | 0.7817       | 0.7771       | 0.8442             | 0.7817          | 0.8613          |

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