matteopilotto's picture
Add evaluation results on Matthijs/snacks dataset (#1)
54e537f
---
datasets:
- Matthijs/snacks
model-index:
- name: matteopilotto/vit-base-patch16-224-in21k-snacks
results:
- task:
type: image-classification
name: Image Classification
dataset:
name: Matthijs/snacks
type: Matthijs/snacks
config: default
split: test
metrics:
- name: Accuracy
type: accuracy
value: 0.8928571428571429
verified: true
- name: Precision Macro
type: precision
value: 0.8990033704680036
verified: true
- name: Precision Micro
type: precision
value: 0.8928571428571429
verified: true
- name: Precision Weighted
type: precision
value: 0.8972398709051788
verified: true
- name: Recall Macro
type: recall
value: 0.8914608843537415
verified: true
- name: Recall Micro
type: recall
value: 0.8928571428571429
verified: true
- name: Recall Weighted
type: recall
value: 0.8928571428571429
verified: true
- name: F1 Macro
type: f1
value: 0.892544821273258
verified: true
- name: F1 Micro
type: f1
value: 0.8928571428571429
verified: true
- name: F1 Weighted
type: f1
value: 0.8924168605019522
verified: true
- name: loss
type: loss
value: 0.479541540145874
verified: true
---
# Vision Transformer fine-tuned on `Matthijs/snacks` dataset
Vision Transformer (ViT) model pre-trained on ImageNet-21k and fine-tuned on [**Matthijs/snacks**](https://huggingface.co/datasets/Matthijs/snacks) for 5 epochs using various data augmentation transformations from `torchvision`.
The model achieves a **94.97%** and **94.43%** accuracy on the validation and test set, respectively.
## Data augmentation pipeline
The code block below shows the various transformations applied during pre-processing to augment the original dataset.
The augmented images where generated on-the-fly with the `set_transform` method.
```python
from transformers import ViTFeatureExtractor
from torchvision.transforms import (
Compose,
Normalize,
Resize,
RandomResizedCrop,
RandomHorizontalFlip,
RandomAdjustSharpness,
ToTensor
)
checkpoint = 'google/vit-base-patch16-224-in21k'
feature_extractor = ViTFeatureExtractor.from_pretrained(checkpoint)
# transformations on the training set
train_aug_transforms = Compose([
RandomResizedCrop(size=feature_extractor.size),
RandomHorizontalFlip(p=0.5),
RandomAdjustSharpness(sharpness_factor=5, p=0.5),
ToTensor(),
Normalize(mean=feature_extractor.image_mean, std=feature_extractor.image_std),
])
# transformations on the validation/test set
valid_aug_transforms = Compose([
Resize(size=(feature_extractor.size, feature_extractor.size)),
ToTensor(),
Normalize(mean=feature_extractor.image_mean, std=feature_extractor.image_std),
])
```