billpsomas commited on
Commit
21959e5
·
verified ·
1 Parent(s): 41db4e7

Add DiT-XL/2 head (final epoch, from the original attention-mim run); 37/37 encoders covered

Browse files
Files changed (4) hide show
  1. README.md +8 -5
  2. dit_xl/config.json +19 -0
  3. dit_xl/ep_head.pth +3 -0
  4. 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 36 frozen encoders, from 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
- Every head ships with its accuracy **at the saved epoch** in `meta`/`config.json`:
21
- 12 heads are the run's peak (they reproduce the leaderboard number exactly); the rest
22
- are final-epoch heads, with both figures recorded so nothing is ambiguous. DiT-XL/2
23
- is absent (no surviving checkpoint; see the manifest).
 
 
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
  }