See our collection for all versions of FlexiViT.

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

GitHub Docs Collection

kerasformers/flexivit_small_1200ep_in1k

Paper: FlexiViT: One Model for All Patch Sizes (arXiv:2212.08013) · HF Papers

FlexiViT trains one ViT that transfers across patch sizes at inference. Classifier or token backbone.

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

Pure-Keras 3 conversion of timm/flexivit_small.1200ep_in1k for kerasformers. One implementation runs unmodified on TensorFlow / Torch / JAX.

This is an image-classification / backbone checkpoint (FlexiViTImageClassify / FlexiViTModel).

✨ Quick start

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

from PIL import Image
import numpy as np
from kerasformers.models.flexivit import FlexiViTImageClassify, FlexiViTModel

model = FlexiViTImageClassify.from_weights("kerasformers/flexivit_small_1200ep_in1k")
backbone = FlexiViTModel.from_weights(
    "kerasformers/flexivit_small_1200ep_in1k", 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 FlexiViT variant the same way with from_weights("kerasformers/<variant>"):

Variant Hub
flexivit_base_1000ep_in21k kerasformers/flexivit_base_1000ep_in21k
flexivit_base_1200ep_in1k kerasformers/flexivit_base_1200ep_in1k
flexivit_base_300ep_in1k kerasformers/flexivit_base_300ep_in1k
flexivit_base_300ep_in21k kerasformers/flexivit_base_300ep_in21k
flexivit_large_1200ep_in1k kerasformers/flexivit_large_1200ep_in1k
flexivit_large_300ep_in1k kerasformers/flexivit_large_300ep_in1k
flexivit_large_600ep_in1k kerasformers/flexivit_large_600ep_in1k
flexivit_small_1200ep_in1k kerasformers/flexivit_small_1200ep_in1k
flexivit_small_300ep_in1k kerasformers/flexivit_small_300ep_in1k
flexivit_small_600ep_in1k kerasformers/flexivit_small_600ep_in1k

Tips

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

Special Thanks

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

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

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

Model tree for kerasformers/flexivit_small_1200ep_in1k

Finetuned
(1)
this model

Collection including kerasformers/flexivit_small_1200ep_in1k

Paper for kerasformers/flexivit_small_1200ep_in1k