--- license: mit library_name: timm pipeline_tag: image-classification tags: - image-classification - vision-transformer - adaptive-inference - imagenet-1k - progresvit - arxiv:2609.03216 datasets: - ILSVRC/imagenet-1k metrics: - accuracy --- # ProgResViT DeiT-S (192 → 240) ImageNet-1K EMA weights for **ProgResViT DeiT-S (192 → 240)** from [ProgResViT: Progressive Resolution and Width for Adaptive Vision Transformers](https://arxiv.org/abs/2609.03216). - Paper: [arXiv:2609.03216](https://arxiv.org/abs/2609.03216) - Hugging Face paper: [2609.03216](https://huggingface.co/papers/2609.03216) - Code: [ds-kiel/ProgResViT](https://github.com/ds-kiel/ProgResViT) - Training: standard - Full-path top-1 accuracy: 82.206% - Full-path compute: 6.267 GMACs ## Usage Run from the cloned ProgResViT repository root, or add the repository to `PYTHONPATH`: ```python import torch from timm.models import create_model model = create_model("hf-hub:NCPS/progresvit-deit-s-192-240-imagenet1k", pretrained=True) model.eval() x = torch.randn(1, 3, 240, 240) with torch.inference_mode(): logits, stage = model(x, threshold=0.35) print(logits.shape) # (1, 1000) print(stage) # 0 = 192 px / 3 heads; 1 = 240 px / 6 heads ``` The entropy threshold controls routing. Lower values send more images to the second round; higher values exit more images after the first round. ## ImageNet-1K validation Download the release checkpoint into `checkpoints/`: ```python from huggingface_hub import hf_hub_download hf_hub_download( repo_id="NCPS/progresvit-deit-s-192-240-imagenet1k", filename="progresvit_192_240.pth.tar", local_dir="checkpoints", ) ``` Then run the repository evaluator: ```bash python validate.py /path/to/imagenet/val \ --config 192_240 \ --checkpoint checkpoints/progresvit_192_240.pth.tar ```