|
Download README.md from billpsomas/efficient-probing-heads: direct link, hf CLI and curl.
- Browser
- Download file 4.79 kB
-
https://huggingface.co/billpsomas/efficient-probing-heads/resolve/main/README.md
- Command line
-
hf download hf://billpsomas/efficient-probing-heads/README.md
-
curl -L -o README.md https://huggingface.co/billpsomas/efficient-probing-heads/resolve/main/README.md
4.79 kB
| license: apache-2.0 | |
| tags: | |
| - image-classification | |
| - probing | |
| - frozen-features | |
| - imagenet-1k | |
| library_name: pytorch | |
| # Efficient Probing heads | |
| **Paper:** [Attention, Please! Revisiting Attentive Probing Through the Lens of Efficiency](https://huggingface.co/papers/2506.10178) | |
| (ICLR 2026) · [arXiv:2506.10178](https://arxiv.org/abs/2506.10178) · | |
| [code & leaderboard](https://github.com/billpsomas/efficient-probing) | |
| Trained EP (efficient probing) heads for all 37 frozen encoders of the standing | |
| ImageNet-1k benchmark at [billpsomas/efficient-probing](https://github.com/billpsomas/efficient-probing). | |
| Each head is a multi-query cross-attention pooling + BatchNorm + linear classifier, | |
| trained for 90 epochs with LARS on frozen features. **No backbone weights are | |
| included** -- each `config.json` records the exact `--model` / loader flags to | |
| rebuild the encoder from its original source. | |
| Why two kinds of head: the training code initially kept only a rolling per-epoch | |
| checkpoint, so a finished run left its **final** epoch behind rather than its best. | |
| 13 early-peaking models were later re-run with best-epoch checkpointing, so their | |
| heads are the **peak** and reproduce the leaderboard number exactly. Every file's | |
| metadata records both its own accuracy at the saved epoch and the table's | |
| best-epoch figure, so nothing has to be taken on trust. | |
| ## Loading | |
| ```python | |
| from huggingface_hub import hf_hub_download | |
| import torch | |
| path = hf_hub_download("billpsomas/efficient-probing-heads", | |
| "dinov3_vit7b/ep_head.pth") | |
| ck = torch.load(path, map_location="cpu", weights_only=False) | |
| head_state, meta = ck["state_dict"], ck["meta"] | |
| # with the benchmark repo on PYTHONPATH: | |
| # model = backbones.build_backbone(args, device) # args from meta | |
| # probe_heads.build_probe_head(model, args) | |
| # model.head.load_state_dict(head_state, strict=True) | |
| ``` | |
| Or evaluate directly with the benchmark's tool: | |
| ``` | |
| python tools/eval_reimagenet.py predict <backbone flags from config.json> \ | |
| --head_ckpt ep_head.pth --pred_out preds.json | |
| ``` | |
| ## Heads | |
| | encoder | EP variant | top-1 @ saved epoch | epoch | checkpoint is | | |
| |---|---|---:|---:|---| | |
| | DINOv3 ViT-7B/16 | ep_all | 88.36 | 6 | peak | | |
| | MetaCLIP2 ViT-bigG/14-378 | ep | 88.12 | 6 | peak | | |
| | EVA02-CLIP E-14-plus | ep | 87.98 | 6 | peak | | |
| | EVA02-CLIP E-14 | ep | 87.70 | 6 | peak | | |
| | SigLIP2 SO400M/14 | ep | 87.68 | 6 | peak | | |
| | PE-Core L-14/336 | ep | 87.25 | 12 | peak | | |
| | MetaCLIP2 ViT-bigG/14 | ep | 87.11 | 6 | peak | | |
| | SigLIP2 ViT-L/16 | ep | 87.06 | 6 | peak | | |
| | DINOv3 ViT-L/16 | ep_all | 86.73 | 19 | final epoch | | |
| | AIMv2 ViT-L/14 | ep | 85.62 | 19 | final epoch | | |
| | SigLIP ViT-L/16 | ep | 85.93 | 6 | peak | | |
| | DINOv2 ViT-L/14 | ep_all | 85.56 | 15 | peak | | |
| | Franca ViT-L/14 | ep_all | 84.28 | 14 | peak | | |
| | DINOv3 ViT-B/16 | ep_all | 83.77 | 20 | final epoch | | |
| | DINOv2 ViT-B/14 | ep | 83.61 | 25 | final epoch | | |
| | RADIO ViT-L/16 | ep | 83.40 | 89 | final epoch | | |
| | EVA02 ViT-L/14 | ep | 83.22 | 89 | final epoch | | |
| | CLIP ViT-L/14 | ep | 83.22 | 11 | peak | | |
| | CAPI ViT-L/14 | ep | 82.43 | 89 | final epoch | | |
| | BEiTv2 ViT-B/16 | ep | 81.32 | 89 | final epoch | | |
| | RADIO ViT-B/16 | ep | 80.26 | 89 | final epoch | | |
| | iBOT ViT-L/16 | ep_all | 79.43 | 89 | final epoch | | |
| | Hiera ViT-H/16 | ep | 79.82 | 89 | final epoch | | |
| | MAE ViT-L/16 | ep | 79.43 | 89 | final epoch | | |
| | I-JEPA ViT-H/14 | ep | 78.80 | 89 | final epoch | | |
| | iBOT ViT-B/16 | ep_all | 78.62 | 89 | final epoch | | |
| | Hiera ViT-L/16 | ep | 78.51 | 83 | final epoch | | |
| | CLIP ViT-B/16 | ep_all | 77.85 | 11 | peak | | |
| | DINO ViT-B/16 | ep_all | 77.08 | 89 | final epoch | | |
| | MoCov3 ViT-B/16 | ep_all | 76.21 | 89 | final epoch | | |
| | Hiera ViT-B/16 | ep | 75.63 | 88 | final epoch | | |
| | MAE ViT-B/16 | ep | 75.35 | 86 | final epoch | | |
| | MaskFeat ViT-B/16 | ep | 71.68 | 89 | final epoch | | |
| | MaskFeat ViT-L/16 | ep | 69.56 | 89 | final epoch | | |
| | SimMIM ViT-B/16 | ep | 64.81 | 89 | final epoch | | |
| | MAE ViT-S/16 | ep | 64.56 | 89 | final epoch | | |
| | DiT DiT-XL/2 | ep | 56.94 | 86 | final epoch | | |
| Full provenance (training logs, exact commands, the leaderboard itself) lives in the | |
| [GitHub repo](https://github.com/billpsomas/efficient-probing). Heads were trained on | |
| ImageNet-1k; use accordingly. | |
| ## Citation | |
| ```bibtex | |
| @inproceedings{psomas2026attention, | |
| title = {Attention, Please! Revisiting Attentive Probing Through the Lens of Efficiency}, | |
| author = {Bill Psomas and Dionysis Christopoulos and Eirini Baltzi and Ioannis Kakogeorgiou and Tilemachos Aravanis and Nikos Komodakis and Konstantinos Karantzalos and Yannis Avrithis and Giorgos Tolias}, | |
| booktitle = {The Fourteenth International Conference on Learning Representations}, | |
| year = {2026}, | |
| url = {https://openreview.net/forum?id=PXo0gtT7Al} | |
| } | |
| ``` | |