CanViT-B, fine-tuned for ImageNet-1k classification
CanViT-B fine-tuned end to end for ImageNet-1k classification by linear probing then fine-tuning (LP-FT), as in the paper: 84.5% top-1 accuracy on the validation set (C2F, T=21, single run).
CanViT, the Canvas Vision Transformer, is an active-vision foundation model: it sees a scene through a sequence of glimpses and remembers it on a scene-wide canvas.
Paper (NeurIPS 2026) · Code · Project page · All checkpoints
Usage
pip install "canvit-pytorch>=0.2"
import torch
from PIL import Image
from canvit_pytorch import CanViTForImageClassification, Viewpoint, sample_at_viewpoint
from canvit_pytorch.benchmarks.imagenet import CLASS_NAMES
from canvit_pytorch.preprocess import preprocess
model = CanViTForImageClassification.from_pretrained("canvit/canvitb16-add-vpe-finetune-g128px-s512px-in1k-2026-04-06").eval()
scene = preprocess(512)(Image.open("scene.jpg").convert("RGB")).unsqueeze(0) # [1, 3, 512, 512]
state = model.init_state(batch_size=1, canvas_grid_size=32)
with torch.inference_mode():
viewpoint = Viewpoint.full_scene(batch_size=1, device=scene.device)
glimpse = sample_at_viewpoint(spatial=scene, viewpoint=viewpoint, glimpse_size_px=128)
logits, state = model(glimpse=glimpse, state=state, viewpoint=viewpoint) # [1, 1000]; more glimpses refine it
print(CLASS_NAMES[logits.argmax().item()])
Details
| Initialization | canvit/canvitb16-add-vpe-pretrain-g128px-s512px-in21k-dv3b16-2026-02-02, its CLS readout fused with the DINOv3 probe yberreby/dinov3-vitb16-lvd1689m-in1k-512x512-linear-clf-probe |
| Rollouts | 4 F-IID glimpses of 128 px, full BPTT |
| Training | 20 epochs (100,080 steps), batch size 256 |
| Optimizer | AdamW, learning rate 2.5e-05, weight decay 0.0001, gradient clipping 1.0 |
| Schedule | 25,000-step linear warmup, then cosine decay to 0 |
| Loss | cross-entropy at every glimpse, label smoothing 0.1 |
Citation
@article{berreby2026canvit,
title={CanViT: Toward Active-Vision Foundation Models},
author={Berreby, Yoha{\"i}-Eliel and Du, Sabrina and Durand, Audrey and Krishna, B. Suresh},
year={2026},
eprint={2603.22570},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2603.22570}
}
canvit-pytorch 0.1
This repository's files for canvit-pytorch 0.1 remain at revision canvit-pytorch-0.1:
with canvit-pytorch<0.2, pass revision="canvit-pytorch-0.1" to from_pretrained.