Add DiT-XL/2 head (final epoch, from the original attention-mim run); 37/37 encoders covered
Browse files- README.md +8 -5
- dit_xl/config.json +19 -0
- dit_xl/ep_head.pth +3 -0
- manifest.json +23 -7
README.md
CHANGED
|
@@ -10,17 +10,19 @@ library_name: pytorch
|
|
| 10 |
|
| 11 |
# Efficient Probing heads
|
| 12 |
|
| 13 |
-
Trained EP (efficient probing) heads for
|
| 14 |
ImageNet-1k benchmark at [billpsomas/efficient-probing](https://github.com/billpsomas/efficient-probing)
|
| 15 |
(ICLR 2026). Each head is a multi-query cross-attention pooling + BatchNorm + linear
|
| 16 |
classifier, trained for 90 epochs with LARS on frozen features. **No backbone weights
|
| 17 |
are included** -- each `config.json` records the exact `--model` / loader flags to
|
| 18 |
rebuild the encoder from its original source.
|
| 19 |
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
|
|
|
|
|
|
| 24 |
|
| 25 |
## Loading
|
| 26 |
|
|
@@ -85,6 +87,7 @@ python tools/eval_reimagenet.py predict <backbone flags from config.json> \
|
|
| 85 |
| MaskFeat ViT-L/16 | ep | 69.56 | 89 | final epoch |
|
| 86 |
| SimMIM ViT-B/16 | ep | 64.81 | 89 | final epoch |
|
| 87 |
| MAE ViT-S/16 | ep | 64.56 | 89 | final epoch |
|
|
|
|
| 88 |
|
| 89 |
Full provenance (training logs, exact commands, the leaderboard itself) lives in the
|
| 90 |
[GitHub repo](https://github.com/billpsomas/efficient-probing). Heads were trained on
|
|
|
|
| 10 |
|
| 11 |
# Efficient Probing heads
|
| 12 |
|
| 13 |
+
Trained EP (efficient probing) heads for all 37 frozen encoders of the standing
|
| 14 |
ImageNet-1k benchmark at [billpsomas/efficient-probing](https://github.com/billpsomas/efficient-probing)
|
| 15 |
(ICLR 2026). Each head is a multi-query cross-attention pooling + BatchNorm + linear
|
| 16 |
classifier, trained for 90 epochs with LARS on frozen features. **No backbone weights
|
| 17 |
are included** -- each `config.json` records the exact `--model` / loader flags to
|
| 18 |
rebuild the encoder from its original source.
|
| 19 |
|
| 20 |
+
Why two kinds of head: the training code initially kept only a rolling per-epoch
|
| 21 |
+
checkpoint, so a finished run left its **final** epoch behind rather than its best.
|
| 22 |
+
12 early-peaking models were later re-run with best-epoch checkpointing, so their
|
| 23 |
+
heads are the **peak** and reproduce the leaderboard number exactly. Every file's
|
| 24 |
+
metadata records both its own accuracy at the saved epoch and the table's
|
| 25 |
+
best-epoch figure, so nothing has to be taken on trust.
|
| 26 |
|
| 27 |
## Loading
|
| 28 |
|
|
|
|
| 87 |
| MaskFeat ViT-L/16 | ep | 69.56 | 89 | final epoch |
|
| 88 |
| SimMIM ViT-B/16 | ep | 64.81 | 89 | final epoch |
|
| 89 |
| MAE ViT-S/16 | ep | 64.56 | 89 | final epoch |
|
| 90 |
+
| DiT DiT-XL/2 | ep | 56.94 | 86 | final epoch |
|
| 91 |
|
| 92 |
Full provenance (training logs, exact commands, the leaderboard itself) lives in the
|
| 93 |
[GitHub repo](https://github.com/billpsomas/efficient-probing). Heads were trained on
|
dit_xl/config.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"method": "DiT",
|
| 3 |
+
"arch": "DiT-XL/2",
|
| 4 |
+
"pretrain": "IN-1K",
|
| 5 |
+
"image_size": 256,
|
| 6 |
+
"model": "DiT-XL/2",
|
| 7 |
+
"loader": "dit",
|
| 8 |
+
"pretrain_tag": "",
|
| 9 |
+
"finetune": "",
|
| 10 |
+
"extra_flags": "",
|
| 11 |
+
"cls_features": "ep",
|
| 12 |
+
"ep_queries": 128,
|
| 13 |
+
"d_out": 1,
|
| 14 |
+
"head_epoch": 86,
|
| 15 |
+
"val_acc1_at_head_epoch": 56.94,
|
| 16 |
+
"table_best_acc1": 57.0,
|
| 17 |
+
"note": "final-epoch head, not best-epoch: checkpoints overwrite per epoch. table_best_acc1 is the peak of the same run; the difference is the post-peak decline of a frozen-feature probe, largest on VLM encoders.",
|
| 18 |
+
"training_log": "logs/dit_xl/ep.txt"
|
| 19 |
+
}
|
dit_xl/ep_head.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c641c72c0ddd6d090c605aaf6d5237a7c0ed46509140c30e2f365ab0747fc2d8
|
| 3 |
+
size 10523089
|
manifest.json
CHANGED
|
@@ -330,6 +330,28 @@
|
|
| 330 |
"file": "siglip2_vitl/ep_head.pth",
|
| 331 |
"size_mb": 8.4
|
| 332 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 333 |
{
|
| 334 |
"method": "AIMv2",
|
| 335 |
"arch": "ViT-L/14",
|
|
@@ -793,11 +815,5 @@
|
|
| 793 |
"size_mb": 8.4
|
| 794 |
}
|
| 795 |
],
|
| 796 |
-
"missing": [
|
| 797 |
-
{
|
| 798 |
-
"method": "DiT",
|
| 799 |
-
"arch": "DiT-XL/2",
|
| 800 |
-
"reason": "no surviving checkpoint: the run's output directory was deleted after its logs were published; re-run required to export a head"
|
| 801 |
-
}
|
| 802 |
-
]
|
| 803 |
}
|
|
|
|
| 330 |
"file": "siglip2_vitl/ep_head.pth",
|
| 331 |
"size_mb": 8.4
|
| 332 |
},
|
| 333 |
+
{
|
| 334 |
+
"method": "DiT",
|
| 335 |
+
"arch": "DiT-XL/2",
|
| 336 |
+
"pretrain": "IN-1K",
|
| 337 |
+
"image_size": 256,
|
| 338 |
+
"model": "DiT-XL/2",
|
| 339 |
+
"loader": "dit",
|
| 340 |
+
"pretrain_tag": "",
|
| 341 |
+
"finetune": "",
|
| 342 |
+
"extra_flags": "",
|
| 343 |
+
"cls_features": "ep",
|
| 344 |
+
"ep_queries": 128,
|
| 345 |
+
"d_out": 1,
|
| 346 |
+
"head_epoch": 86,
|
| 347 |
+
"val_acc1_at_head_epoch": 56.94,
|
| 348 |
+
"table_best_acc1": 57.0,
|
| 349 |
+
"note": "final-epoch head, not best-epoch: checkpoints overwrite per epoch. table_best_acc1 is the peak of the same run; the difference is the post-peak decline of a frozen-feature probe, largest on VLM encoders.",
|
| 350 |
+
"training_log": "logs/dit_xl/ep.txt",
|
| 351 |
+
"params_incl_bn_stats": 2629865,
|
| 352 |
+
"file": "dit_xl/ep_head.pth",
|
| 353 |
+
"size_mb": 10.5
|
| 354 |
+
},
|
| 355 |
{
|
| 356 |
"method": "AIMv2",
|
| 357 |
"arch": "ViT-L/14",
|
|
|
|
| 815 |
"size_mb": 8.4
|
| 816 |
}
|
| 817 |
],
|
| 818 |
+
"missing": []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 819 |
}
|