See our collection for all versions of ViT.

Run ViT with Keras 3: JAX, PyTorch, or TensorFlow

GitHub Docs Collection

kerasformers/vit_small_patch16_224_augreg_in21k

Paper: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (arXiv:2010.11929) · HF Papers

Vision Transformer (ViT) patches an image and runs a transformer encoder. Use ViTImageClassify for logits or ViTModel for tokens / per-block features via as_backbone=True.

For more details on the model, please go to the upstream model card.

Pure-Keras 3 conversion of timm/vit_small_patch16_224.augreg_in21k for kerasformers. One implementation runs unmodified on TensorFlow / Torch / JAX.

This is an image-classification / backbone checkpoint (ViTImageClassify / ViTModel).

✨ Quick start

import os
os.environ["KERAS_BACKEND"] = "torch"  # or "jax" / "tensorflow"

from PIL import Image
import numpy as np
from kerasformers.models.vit import ViTImageClassify, ViTModel

model = ViTImageClassify.from_weights("kerasformers/vit_small_patch16_224_augreg_in21k")
backbone = ViTModel.from_weights(
    "kerasformers/vit_small_patch16_224_augreg_in21k", as_backbone=True
)

image = Image.open("your_image.jpg").convert("RGB")
image = image.resize((224, 224))
x = np.asarray(image, dtype="float32")[None]  # (1, H, W, 3)
print(model(x).shape)  # (1, num_classes)
feats = backbone(x)
print(len(feats), [tuple(f.shape) for f in feats])

Load any ViT variant the same way with from_weights("kerasformers/<variant>"):

Variant Hub
vit_base_patch16_224_augreg_in1k kerasformers/vit_base_patch16_224_augreg_in1k
vit_base_patch16_224_augreg_in21k kerasformers/vit_base_patch16_224_augreg_in21k
vit_base_patch16_224_augreg_in21k_ft_in1k kerasformers/vit_base_patch16_224_augreg_in21k_ft_in1k
vit_base_patch16_224_orig_in21k_ft_in1k kerasformers/vit_base_patch16_224_orig_in21k_ft_in1k
vit_base_patch16_384_augreg_in1k kerasformers/vit_base_patch16_384_augreg_in1k
vit_base_patch16_384_augreg_in21k_ft_in1k kerasformers/vit_base_patch16_384_augreg_in21k_ft_in1k
vit_base_patch16_384_orig_in21k_ft_in1k kerasformers/vit_base_patch16_384_orig_in21k_ft_in1k
vit_base_patch32_224_augreg_in1k kerasformers/vit_base_patch32_224_augreg_in1k
vit_base_patch32_224_augreg_in21k kerasformers/vit_base_patch32_224_augreg_in21k
vit_base_patch32_224_augreg_in21k_ft_in1k kerasformers/vit_base_patch32_224_augreg_in21k_ft_in1k
vit_base_patch32_384_augreg_in1k kerasformers/vit_base_patch32_384_augreg_in1k
vit_base_patch32_384_augreg_in21k_ft_in1k kerasformers/vit_base_patch32_384_augreg_in21k_ft_in1k
vit_large_patch16_224_augreg_in21k kerasformers/vit_large_patch16_224_augreg_in21k
vit_large_patch16_224_augreg_in21k_ft_in1k kerasformers/vit_large_patch16_224_augreg_in21k_ft_in1k
vit_large_patch16_384_augreg_in21k_ft_in1k kerasformers/vit_large_patch16_384_augreg_in21k_ft_in1k
vit_large_patch32_384_orig_in21k_ft_in1k kerasformers/vit_large_patch32_384_orig_in21k_ft_in1k
vit_small_patch16_224_augreg_in1k kerasformers/vit_small_patch16_224_augreg_in1k
vit_small_patch16_224_augreg_in21k kerasformers/vit_small_patch16_224_augreg_in21k
vit_small_patch16_224_augreg_in21k_ft_in1k kerasformers/vit_small_patch16_224_augreg_in21k_ft_in1k
vit_small_patch16_384_augreg_in1k kerasformers/vit_small_patch16_384_augreg_in1k
vit_small_patch16_384_augreg_in21k_ft_in1k kerasformers/vit_small_patch16_384_augreg_in21k_ft_in1k
vit_small_patch32_224_augreg_in21k kerasformers/vit_small_patch32_224_augreg_in21k
vit_small_patch32_224_augreg_in21k_ft_in1k kerasformers/vit_small_patch32_224_augreg_in21k_ft_in1k
vit_small_patch32_384_augreg_in21k_ft_in1k kerasformers/vit_small_patch32_384_augreg_in21k_ft_in1k
vit_tiny_patch16_224_augreg_in21k kerasformers/vit_tiny_patch16_224_augreg_in21k
vit_tiny_patch16_224_augreg_in21k_ft_in1k kerasformers/vit_tiny_patch16_224_augreg_in21k_ft_in1k
vit_tiny_patch16_384_augreg_in21k_ft_in1k kerasformers/vit_tiny_patch16_384_augreg_in21k_ft_in1k

Tips

  • Set KERAS_BACKEND before importing Keras / kerasformers.
  • ViTImageClassify returns class logits; ViTModel returns features (as_backbone=True for multi-scale stages).
  • See docs and Loading Weights.
  • Upstream / timm checkpoints: ViTImageClassify.from_weights("hf:timm/vit_small_patch16_224.augreg_in21k").

Special Thanks

A huge thank you to the ViT authors and the timm / Hub communities for creating and releasing these models.

License: see YAML license (usually matches the upstream checkpoint).

Downloads last month
21
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for kerasformers/vit_small_patch16_224_augreg_in21k

Finetuned
(2)
this model

Collection including kerasformers/vit_small_patch16_224_augreg_in21k

Paper for kerasformers/vit_small_patch16_224_augreg_in21k