
# vit-base-patch16-224-in21k_dog_vs_cat_image_classification

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.0404
- Accuracy: 0.99
- F1: 0.9897
- Recall: 0.9909
- Precision: 0.9885

## Model description

This is a binary classification model to distinguish between cats and dogs.

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/Dogs%20or%20Cats%20Image%20Classification/Dog_v_Cat_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/shaunthesheep/microsoft-catsvsdogs-dataset

_Sample Images From Dataset:_

![Sample Images](https://github.com/DunnBC22/Vision_Audio_and_Multimodal_Projects/raw/main/Computer%20Vision/Image%20Classification/Binary%20Classification/Dogs%20or%20Cats%20Image%20Classification/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: 3

### Training results

| Training Loss | Epoch | Step | Validation Loss | Accuracy | F1     | Recall | Precision |
|:-------------:|:-----:|:----:|:---------------:|:--------:|:------:|:------:|:---------:|
| 0.0896        | 1.0   | 1250 | 0.0590          | 0.979    | 0.9783 | 0.9728 | 0.9838    |
| 0.0253        | 2.0   | 2500 | 0.0543          | 0.9842   | 0.9837 | 0.9802 | 0.9871    |
| 0.0066        | 3.0   | 3750 | 0.0404          | 0.99     | 0.9897 | 0.9909 | 0.9885    |


### Framework versions

- Transformers 4.25.1
- Pytorch 1.12.1
- Datasets 2.8.0
- Tokenizers 0.12.1
cat dog