Spaces:
Running on Zero
Running on Zero
| title: ProgResViT | |
| emoji: πͺ | |
| colorFrom: indigo | |
| colorTo: purple | |
| sdk: gradio | |
| sdk_version: 6.26.0 | |
| app_file: app.py | |
| short_description: Adaptive-compute ViT that classifies in progressive rounds | |
| python_version: "3.12" | |
| startup_duration_timeout: 30m | |
| license: mit | |
| # ProgResViT: Progressive Resolution and Width for Adaptive Vision Transformers | |
| Interactive ImageNet-1K demo of [ProgResViT](https://huggingface.co/papers/2609.03216) | |
| (arXiv:2609.03216, Kiel University). | |
| ProgResViT performs inference **progressively**. Round 1 processes a low-resolution | |
| image with a narrow subnetwork (3 of 6 attention heads). If the round-1 prediction is | |
| confident enough β measured by the entropy of its top-10 softmax β inference stops | |
| there. Otherwise the model recycles the round-1 tokens and refines the prediction at a | |
| higher input resolution with the full-width subnetwork. All rounds share a single | |
| backbone, conditioned by **Progress-Conditioned Soft Gating (PSG)**. | |
| The demo exposes that mechanism directly: it runs both rounds, shows each round's top-5 | |
| prediction, and reports which round the routing threshold would have stopped at, along | |
| with the GMACs saved. | |
| ## Checkpoints | |
| All four released DeiT-S checkpoints are available in the dropdown: | |
| | Resolution schedule | Training | Top-1 | GMACs (full path) | | |
| |---|---|---:|---:| | |
| | 160 β 384 | KD | 84.90% | 16.152 | | |
| | 160 β 384 | standard | 83.70% | 16.152 | | |
| | 192 β 240 | KD | 83.80% | 6.267 | | |
| | 192 β 240 | standard | 82.21% | 6.267 | | |
| Weights: [NCPS on the Hub](https://huggingface.co/NCPS). Default routing thresholds are | |
| the authors' reported operating points (β€0.03 pp top-1 drop). | |
| ## Implementation notes | |
| - The ProgResViT model code is the authors' vendored `timm` fork, copied verbatim from | |
| [ds-kiel/ProgResViT](https://github.com/ds-kiel/ProgResViT) (MIT; `NOTICE` and | |
| `LICENSE-timm.txt` retained). | |
| - Preprocessing matches `validate.py` upstream: bicubic resize with `crop_pct=0.9`, | |
| center crop to the checkpoint's eval resolution, ImageNet mean/std. | |
| - Rounds are run with `model._forward_stage(...)` exactly as the upstream evaluator | |
| does, so both rounds are always computed and the routing decision is reported rather | |
| than short-circuited β that is what makes the trade-off visible. | |
| - GMACs figures are the authors' measured values from `results/RESULTS.md`. | |
| ## Credits | |
| Example photographs come from | |
| [linoyts/repo-to-space-example-inputs](https://huggingface.co/datasets/linoyts/repo-to-space-example-inputs). | |
| ## Citation | |
| ```bibtex | |
| @article{progresvit2026, | |
| title = {ProgResViT: Progressive Resolution and Width for Adaptive Vision Transformers}, | |
| year = {2026}, | |
| eprint = {2609.03216} | |
| } | |
| ``` | |