Skip to main content

canvit-nnx

The JAX and Flax NNX implementation of CanViT (Canvas Vision Transformer). Read the root backend documentation for the cross-backend API and tensor conventions.

Install

uv add canvit-nnx

Load a Hugging Face checkpoint

Load a pretrained model and an ADE20K probe from Hugging Face. Replace path/to/image.jpg with your image path.

import jax
import jax.numpy as jnp
from PIL import Image

from canvit_nnx import CanViTForSemanticSegmentation, Viewpoint, sample_at_viewpoint
from canvit_nnx.preprocess import preprocess

scene = jnp.asarray(preprocess(512)(Image.open("path/to/image.jpg").convert("RGB")))[None]
model = CanViTForSemanticSegmentation.from_pretrained_with_probe(
    pretrained_repo="canvit/canvitb16-add-vpe-pretrain-g128px-s512px-in21k-dv3b16-2026-02-02-nnx",
    probe_repo="canvit/probe-ade20k-40k-s512-c64-in21k-nnx",
)
model.eval()  # Flax NNX mutates the module and returns None.
viewpoint = Viewpoint.full_scene(batch_size=1)
state = model.init_state(batch_size=1, canvas_grid_size=64)
glimpse = sample_at_viewpoint(spatial=scene, viewpoint=viewpoint, glimpse_size_px=128)
logits, state = model(glimpse=glimpse, state=state, viewpoint=viewpoint)
jax.block_until_ready(logits)
print(logits.shape)  # [1, 64, 64, 150]

The model and probe remain separate checkpoints. They use NHWC arrays: scenes and glimpses are [B, H, W, 3], and the wrapper returns canvas logits as [B, G, G, num_classes]. Viewpoint centers use (row, col) scene coordinates in [-1, 1]; each scale is the crop's half-side.

The example uses the ImageNet-21k CanViT-B checkpoint and the ADE20K probe. The JAX / Flax NNX collection also contains the ImageNet-1k pretrained and fine-tuned native checkpoints.

Constructing a model without a checkpoint requires an explicit parameter RNG, for example:

from flax import nnx
from canvit_nnx import CanViT, CanViTConfig

model = CanViT(CanViTConfig(), rngs=nnx.Rngs(0))

Develop from a checkout

cd canvit-nnx
uv sync

The checkout resolves canvit-core from its sibling directory. To convert a PyTorch checkpoint and run the conversion checks from the repository root:

uv run --project canvit-nnx python -m tools.convert_checkpoints --help

Metadata

Release files for canvit-nnx 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for canvit-nnx 0.2.0
File Size Uploaded
canvit_nnx-0.2.0.tar.gz 96.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for canvit-nnx 0.2.0
File Interpreter ABI Platform
canvit_nnx-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 117.3 kB

Release files / canvit_nnx-0.2.0.tar.gz

Download URL canvit_nnx-0.2.0.tar.gz
Size 96.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6d6a29d1809e4a3e3917ad5ec427033c560d3f89ceb1309d615f12554f37486c
BLAKE2b-256 checksum
How to use checksums
1eb42b68f488d2c7f65e860f6fcbaf5e36bdf785d4400bc8b23ade817b2502c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / canvit_nnx-0.2.0-py3-none-any.whl

Download URL canvit_nnx-0.2.0-py3-none-any.whl
Size 20.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a4bd14caab81326197c80ba69b6aa2aa41666c7a40c3aadc4c080e9186e1d05
BLAKE2b-256 checksum
How to use checksums
b58d7dbc82c1414c3868e485de2ea56a021bc4cad594cd7f55bc926b6f7f984f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page