CanViT pretraining checkpoint (JAX / Flax NNX)
CanViT pretraining weights for JAX / Flax NNX.
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
Install
uv add canvit-nnx
Usage
import jax.numpy as jnp
from PIL import Image
from canvit_nnx import CanViTForPretraining, Viewpoint, sample_at_viewpoint
from canvit_nnx.preprocess import preprocess
scene = jnp.asarray(preprocess(512)(Image.open("scene.jpg").convert("RGB")))[None]
model = CanViTForPretraining.from_pretrained("canvit/canvitb16-add-vpe-pretrain-g128px-s512px-in1k-dv3b16-2026-06-22-nnx")
model.eval()
state = model.init_state(batch_size=1, canvas_grid_size=32)
viewpoint = Viewpoint.full_scene(batch_size=1)
glimpse = sample_at_viewpoint(spatial=scene, viewpoint=viewpoint, glimpse_size_px=128)
output = model(glimpse=glimpse, state=state, viewpoint=viewpoint)
state = output.state
Details
| Backend | JAX / Flax NNX |
| Model class | CanViTForPretraining |
| Source checkpoint | canvit/canvitb16-add-vpe-pretrain-g128px-s512px-in1k-dv3b16-2026-06-22 at 6c8da9a0b5b6cd1e9950008d359bfc799e224776 |
| Validation geometry | 512 px scenes, 128 px glimpses, 32 × 32 canvas |
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}
}