| --- |
| license: apache-2.0 |
| base_model: google/vit-base-patch16-224-in21k |
| library_name: pytorch |
| tags: |
| - generated_from_trainer |
| datasets: |
| - VinayHajare/Fruits-30 |
| metrics: |
| - accuracy |
| model-index: |
| - name: vit-fruit-classifier |
| results: |
| - task: |
| name: Image Classification |
| type: image-classification |
| dataset: |
| name: imagefolder |
| type: imagefolder |
| config: default |
| split: train |
| args: default |
| metrics: |
| - name: Accuracy |
| type: accuracy |
| value: 0.9698795180722891 |
| --- |
| |
| <!-- This model card has been generated automatically according to the information the Trainer had access to. You |
| should probably proofread and complete it, then remove this comment. --> |
|
|
| # vit-fruit-classifier |
|
|
| 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: 1.0194 |
| - Accuracy: 0.9699 |
|
|
| ## Training and evaluation data |
|
|
| This model was fine-tuned on [the Fruits-30 dataset](https://huggingface.co/datasets/VinayHajare/Fruits-30), a collection of images featuring 30 different types of fruits. Each image has been preprocessed and standardized to a size of 224x224 pixels for uniformity. |
|
|
| ### Dataset Composition |
| - Number of Classes: 30 |
| - Image Resolution: 224x224 pixels |
| - Total Images: 826 |
|
|
| ### Training and Evaluation Split |
| The dataset was split into training and evaluation sets using dataset.train_test_split function with a 80/20 train-test split, resulting in: |
| - Training Set: 660 images |
| - Evaluation Set: 166 images |
|
|
| ### Splitting Strategy |
| - The data was shuffled (shuffle=True) before splitting to ensure a random distribution of classes across the training and evaluation sets. |
| - Additionally, stratification was applied based on the "label" column (stratify_by_column='label') to maintain a balanced class distribution across both sets. This helps prevent the model from biasing towards classes with more samples in the training data. |
|
|
| ## Training procedure |
|
|
| ### Training hyperparameters |
|
|
| The following hyperparameters were used during training: |
| - learning_rate: 5e-05 |
| - train_batch_size: 16 |
| - eval_batch_size: 16 |
| - seed: 42 |
| - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 |
| - lr_scheduler_type: linear |
| - num_epochs: 10 |
| - mixed_precision_training: Native AMP |
|
|
| ### Training results |
|
|
| | Training Loss | Epoch | Step | Validation Loss | Accuracy | |
| |:-------------:|:-----:|:----:|:---------------:|:--------:| |
| | 2.668 | 2.38 | 100 | 2.0731 | 0.9217 | |
| | 1.6565 | 4.76 | 200 | 1.4216 | 0.9518 | |
| | 1.1627 | 7.14 | 300 | 1.1256 | 0.9578 | |
| | 0.9571 | 9.52 | 400 | 1.0224 | 0.9639 | |
|
|
|
|
| ### Framework versions |
|
|
| - Transformers 4.38.2 |
| - Pytorch 2.2.1+cu121 |
| - Datasets 2.18.0 |
| - Tokenizers 0.15.2 |
|
|