Dogs vs Cats: ViT-tiny
Klasyfikator obrazów (kot / pies), fine-tuning modelu WinKawaks/vit-tiny-patch16-224.
Model
- Typ: Vision Transformer (ViT-tiny, patch 16, 224x224)
- Zadanie: klasyfikacja obrazów, 2 klasy:
cat,dog - Bazowy model:
WinKawaks/vit-tiny-patch16-224(pretrenowany na ImageNet)
Dane
- Zbiór: microsoft/cats_vs_dogs
- Użyto losowej próbki 4000 zdjęć: train 3200, validation 400, test 400
Hiperparametry
| Parametr | Wartość |
|---|---|
| Epoki | 3 |
| Learning rate | 5e-05 |
| Batch size | 32 |
| Precision | fp16 |
| Śledzenie | MLflow |
Wyniki treningu
| Epoch | Training Loss | Validation Loss | Accuracy |
|---|---|---|---|
| 1 | 0.0146 | 0.0456 | 0.9875 |
| 2 | 0.0022 | 0.0504 | 0.9900 |
| 3 | 0.0000 | 0.0355 | 0.9900 |
Test accuracy: 0.9825
Metryki per klasa (zbiór testowy)
| precision | recall | f1-score | support | |
|---|---|---|---|---|
| cat | 0.978 | 0.984 | 0.981 | 184 |
| dog | 0.986 | 0.981 | 0.984 | 216 |
| accuracy | 0.982 | 0.982 | 0.982 | 0.982 |
| macro avg | 0.982 | 0.983 | 0.982 | 400 |
| weighted avg | 0.983 | 0.982 | 0.983 | 400 |
Confusion matrix

Użycie
from transformers import pipeline
clf = pipeline("image-classification", model="MrParop/dogs-vs-cats-vit-tiny")
print(clf("zdjecie.jpg", top_k=2))
Ograniczenia
Model był trenowany na niewielkiej próbce zbioru i rozróżnia tylko koty i psy. Dla innych obiektów wyniki nie mają sensu.