--- license: apache-2.0 tags: - image-classification - dog-breeds - fine-grained - arcface - convnext - pytorch datasets: - stanford-dogs metrics: - accuracy pipeline_tag: image-classification model-index: - name: Petus Breed Classifier (convnextv2_tiny) results: - task: type: image-classification dataset: name: Stanford Dogs type: stanford-dogs metrics: - name: Top-1 Accuracy (Val) type: accuracy value: 91.8 - name: Top-5 Accuracy (Val) type: accuracy value: 98.7 --- # Petus Breed Classifier (convnextv2_tiny) Dog breed classifier trained on Stanford Dogs (120 breeds) using **convnextv2_tiny** backbone with **ArcFace** angular margin loss and progressive resizing. ## Model Details | Property | Value | |----------|-------| | Backbone | convnextv2_tiny | | Loss | ArcFace (s=30.0, m=0.3) | | Parameters | 28,323,200 | | Input Size | 336px | | Val Top-1 | **91.8%** | | Val Top-5 | **98.7%** | | Training | 2-phase (frozen head → unfrozen backbone) | | Progressive Resize | 224 → 336px | ## Training Recipe (v3) 1. **Phase 1**: Frozen backbone, train ArcFace head only (2 epochs) 2. **Phase 2**: Unfreeze backbone with 1/100th LR, cosine annealing (48 epochs) - 3-epoch linear LR warmup after unfreeze - Progressive resize from 224→336 mid-training - ArcFace angular margin loss (no MixUp/CutMix needed) - Early stopping with patience=10 ## Usage ```python import torch from torchvision import transforms from PIL import Image # Load model checkpoint = torch.load("convnextv2_tiny_best.pt", map_location="cpu") # Preprocess transform = transforms.Compose([ transforms.Resize(384), # 336 * 1.14 transforms.CenterCrop(336), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), ]) image = Image.open("dog.jpg").convert("RGB") input_tensor = transform(image).unsqueeze(0) # Inference model.eval() with torch.no_grad(): logits = model(input_tensor) pred = logits.argmax(dim=1).item() confidence = logits.softmax(dim=1).max().item() ``` ## Breeds 120 dog breeds from the Stanford Dogs dataset (synsets from ImageNet). ## Citation ```bibtex @misc{petus-breed-ml, author = {199 Biotechnologies}, title = {Petus Breed Classifier}, year = {2026}, url = {https://github.com/199-biotechnologies/petus-breed-ml} } ``` ## License Apache 2.0