Demo models

Vision models converted to ONNX for the in-browser demos on karay.me: the LaFAM demo and the region similarity demo. The demos run them on the visitor's device with ONNX Runtime Web (WebGPU, or WebAssembly on the CPU); no image leaves the browser.

Each file is the largest model of its family that stays under 100 MB.

Interface

Every model takes one input and returns the last feature map before pooling:

Shape Meaning
input image (1, 3, 224, 224) RGB in [0, 1]; the model's own normalization is part of the graph
output features (1, C, H, W) the last feature map; for ViTs, the patch tokens after the final norm, as a grid
output cell_logits (1, 1000, H, W) classifiers only: the classification head applied to every cell

For the classifiers that pool their features (ResNet, ConvNeXt, Swin, MaxViT), the mean of cell_logits over the cells equals the model's logits, so the per-cell readout is exact (Karjauv, 2026). Weights are stored as float16 and cast to float32 in the graph; the files match the PyTorch models to a correlation of at least 0.9999 on the demo images.

Files

File Model Source checkpoint (timm) Grid License
resnet50.onnx ResNet-50, ImageNet classifier resnet50.tv2_in1k 7×7 BSD-3-Clause
convnext_small.onnx ConvNeXt-S, ImageNet classifier convnext_small.fb_in1k 7×7 Apache-2.0
swin_small.onnx Swin-S, ImageNet classifier swin_small_patch4_window7_224.ms_in1k 7×7 MIT
maxvit_tiny.onnx MaxViT-T, ImageNet classifier maxvit_tiny_tf_224.in1k 7×7 Apache-2.0
dino_resnet50.onnx DINO ResNet-50, self-supervised DINO dino_resnet50_pretrain.pth (torchvision) 7×7 Apache-2.0
dino_vit_small.onnx DINO ViT-S/16, self-supervised vit_small_patch16_224.dino 14×14 Apache-2.0
dinov2_vit_small.onnx DINOv2 ViT-S/14, self-supervised vit_small_patch14_dinov2.lvd142m 16×16 Apache-2.0
dinov2_reg_vit_small.onnx DINOv2 ViT-S/14 with registers, self-supervised vit_small_patch14_reg4_dinov2.lvd142m 16×16 Apache-2.0
dinov3_vit_small_plus.onnx DINOv3 ViT-S+/16, self-supervised vit_small_plus_patch16_dinov3.lvd1689m 14×14 DINOv3 License
dinov3_convnext_small.onnx DINOv3 ConvNeXt-S, self-supervised convnext_small.dinov3_lvd1689m 7×7 DINOv3 License
fcmae_convnextv2_tiny.onnx ConvNeXt V2-T, masked autoencoder (FCMAE) convnextv2_tiny.fcmae 7×7 CC-BY-NC-4.0 (non-commercial use only)
clip_resnet101.onnx CLIP ResNet-101 (OpenAI), image encoder trunk resnet101_clip_gap.openai 7×7 MIT
tinyclip_vit_medium.onnx TinyCLIP ViT-M/16, image encoder vit_medium_patch16_clip_224.tinyclip_yfcc15m 14×14 MIT

Each file is a derivative of its source checkpoint and is distributed under that checkpoint's license (see LICENSE.md). The DINOv3 models are distributed under the DINOv3 License, a copy of which is included; ConvNeXt V2 (FCMAE) is for non-commercial use only.

Reproducing

export_models.py exports every file from its source checkpoint and checks it against PyTorch on a folder of .jpg images (any will do):

SAMPLES=path/to/images uv run --no-project --with torch --with torchvision --with timm --with onnx --with onnxruntime \
    --with pillow python export_models.py NAME
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for karay/demo-models