FGIR-KD: how to choose your teacher for fine-grained image recognition

These are the checkpoints behind How to Choose Your Teacher for Fine Grained Image Recognition (arXiv:2605.15689), presented at the FGVC13 workshop at CVPR 2026. Small students (ResNet-18, LCNet, LeViT, ViT-T) are distilled from a range of fine-grained teachers to study which teacher helps most. teachers/ holds the teachers themselves; students/ the distilled students. The model code is shared with TGDA (arkel23/TGDA).

2083 checkpoints, one per configuration, each the last epoch of one training seed. Each file is a torch.save dict with config (the full training configuration), model (the state dict), accuracy and epoch, with no optimizer state. File names are the runs' experiment-log names, ending in the serial. Load them with fgir-zoo. The collection groups this repo with the paper.

Layout

Folder Models Teachers Datasets Files Mean accuracy
teachers/serial_15 resnet101.a1_in1k, resnetv2_101.a1h_in1k, vgg19_bn - 8 8 90.46
teachers/serial_16 convnext_base.fb_in22k, resnet101.a1_in1k, resnetv2_101.a1h_in1k, resnetv2_101x3_bit.goog_in21k, swin_base_patch4_window7_224.ms_in22k, van_b3, vgg19_bn, vit_b16 - 6 48 82.21
teachers/serial_17 convnext_base.fb_in22k, resnet101.a1_in1k, resnetv2_101.a1h_in1k, resnetv2_101x3_bit.goog_in21k, swin_base_patch4_window7_224.ms_in22k, van_b3, vgg19_bn, vit_b16 - 1 8 81.45
teachers/serial_18 convnext_base.fb_in22k, resnet101.a1_in1k, resnetv2_101.a1h_in1k, resnetv2_101x3_bit.goog_in21k, swin_base_patch4_window7_224.ms_in22k, vgg19_bn, vit_b16 - 1 7 78.83
teachers/serial_400 convnext_base.fb_in22k, resnet101.a1_in1k, resnetv2_101.a1h_in1k, resnetv2_101x3_bit.goog_in21k, swin_base_patch4_window7_224.ms_in22k, van_b3, vgg19_bn, vit_b16 - 1 9 71.90
teachers/serial_501 resnetv2_101x3_bit.goog_in21k - 5 5 86.01
students/serial_1 resnet18 1 1 1 73.78
students/serial_2 lcnet_035 8 9 72 66.13
students/serial_3 lcnet_035 8 9 72 64.36
students/serial_4 lcnet_035 8 9 72 62.50
students/serial_7 levit_128s 8 8 57 63.23
students/serial_102 resnet18 1 1 1 63.62
students/serial_104 vit_t16 1 1 1 14.38
students/serial_105 lcnet_035 1 2 2 33.97
students/serial_106 levit_128s 1 2 2 39.34
students/serial_193 lcnet_035 1 1 1 76.86
students/serial_201 resnet18 8 10 72 74.73
students/serial_202 resnet18 8 9 65 71.92
students/serial_203 resnet18 8 13 104 72.22
students/serial_204 resnet18 8 13 104 66.47
students/serial_205 resnet18 8 13 104 70.14
students/serial_206 resnet18 8 13 104 64.09
students/serial_207 resnet18 8 13 104 68.60
students/serial_208 resnet18 8 13 104 63.21
students/serial_209 lcnet_035 8 13 104 55.43
students/serial_210 lcnet_035 8 13 104 54.11
students/serial_211 lcnet_035 8 13 104 53.87
students/serial_212 levit_128s 8 13 104 59.39
students/serial_213 levit_128s 8 13 103 57.04
students/serial_214 levit_128s 8 13 103 57.31
students/serial_215 lcnet_035 8 13 104 58.93
students/serial_216 levit_128s 8 13 101 60.95
students/serial_253 lcnet_035 1 1 1 77.43
students/serial_259 resnet18 1 1 1 85.47
students/serial_260 levit_128s 1 1 1 82.02
students/serial_305 levit_128s 8 1 8 63.62
students/serial_309 lcnet_035 7 1 7 61.52
students/serial_311 lcnet_035 1 1 1 0.52
students/serial_321 lcnet_035 8 1 8 60.81
students/serial_322 lcnet_035 8 1 8 54.30
students/serial_323 lcnet_035 8 1 8 0.64
students/serial_324 lcnet_035 8 1 8 51.13
students/serial_401 resnet18 8 1 8 70.81
students/serial_402 lcnet_035 8 1 8 61.19
students/serial_403 levit_128s 3 1 3 72.06
students/serial_551 resnet18 4 2 4 77.20
students/serial_552 lcnet_035 1 1 1 57.28
students/serial_553 levit_128s 8 5 40 75.94
students/serial_554 resnet18 1 1 1 54.37
students/serial_555 lcnet_035 2 2 2 66.50
students/serial_556 levit_128s 8 3 10 92.36
students/serial_999 lcnet_035 1 1 1 7.04

manifest.csv lists every file with its dataset, student, teacher, serial, seed, image size, class count, accuracy, SHA-256 and size.

Load a checkpoint and classify an image

import torch
from PIL import Image
from torchvision import transforms
from fgir_zoo import tgda

model = tgda.create_model('students/serial_203/cub_resnet18_vgg19_bn_cal_203')
cfg = model.config
tf = transforms.Compose([
    transforms.Resize((cfg.test_resize_size, cfg.test_resize_size),
                      interpolation=transforms.InterpolationMode.BICUBIC),
    transforms.CenterCrop(cfg.student_image_size or cfg.image_size),
    transforms.ToTensor(),
    transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),
])
# a CUB-200-2011 test image, class index 50 (051.Horned_Grebe)
x = tf(Image.open('Horned_Grebe_0050_34561.jpg').convert('RGB')).unsqueeze(0)
with torch.no_grad():
    logits = model(x)
print(logits.argmax(-1).item(), logits.softmax(-1).max().item())  # 50 0.9423

Accuracy of the released checkpoints

Top-1 accuracy (%) stored in each file, on the dataset's test split at the end of training. Each value is one seed; the paper reports its own aggregates, so its tables can differ slightly. Per-file accuracy for the 2,000 students is in manifest.csv; the table below covers the teachers.

teachers/

Model aircraft bach bdctkidney cars cub dogs flowers idriddr idridme imagenet1k lublung moe nabirds pets
convnext_base.fb_in22k 92.50 99.96 62.14 82.52 77.94 96.71
resnet101.a1_in1k 77.50 99.96 91.94 96.41 54.37 77.67 83.91 94.08
resnetv2_101.a1h_in1k 67.50 99.96 50.49 72.82 77.70 92.34 89.05
resnetv2_101x3_bit.goog_in21k 87.50 99.90 57.14 89.29 47.81 96.23
swin_base_patch4_window7_224.ms_in22k 95.00 99.96 59.22 82.52 71.39 96.86
van_b3 92.50 100.00 54.37 82.52 85.46 96.06
vgg19_bn 88.87 91.25 100.00 86.93 83.83 60.19 81.55 54.08 94.57 93.71 92.94
vit_b16 86.25 100.00 51.46 82.52 76.65 96.64

Requirements

  • fgir-zoo (pip install git+https://github.com/arkel23/fgir-zoo.git), which pins timm==0.9.12
  • torch (checked with 2.5.1)

Citation

@inproceedings{gosal_choose_teacher_2026,
  title         = {How to Choose Your Teacher for Fine Grained Image Recognition},
  author        = {Gosal, Oswin and Rios, Edwin Arkel and Surya, Augusto Christian and Mikael, Fernando and
                   Lai, Bo-Cheng and Hu, Min-Chun},
  booktitle     = {The 13th Workshop on Fine-Grained Visual Categorization (FGVC13) at CVPR 2026},
  note          = {Non-archival extended abstract},
  year          = {2026},
  eprint        = {2605.15689},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV},
  doi           = {10.48550/arXiv.2605.15689},
  url           = {https://arxiv.org/abs/2605.15689}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including ERISLab/FGIR-KD

Paper for ERISLab/FGIR-KD