See our collection for all versions of DINOv3.

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

GitHub Docs Collection

kerasformers/dinov3-vitl16-pretrain-lvd1689m

Paper: DINOv3: Self-Supervised Visual Representation Learning at Scale (arXiv:2508.10104) · HF Papers

DINOv3 continues self-supervised visual pretraining at larger scale, with ViT and ConvNeXt backbones. These checkpoints return features for downstream heads (ViT variants also expose register tokens).

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

Pure-Keras 3 conversion of facebook/dinov3-vitl16-pretrain-lvd1689m for kerasformers. One implementation runs unmodified on TensorFlow / Torch / JAX.

This is a self-supervised backbone (DinoV3ViTModel), not a task head.

✨ Quick start

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

from kerasformers.models.dino_v3 import DinoV3ViTModel, DinoV3ImageProcessor

# The processor resizes + ImageNet-normalizes, so build the model with
# include_normalization=False (it would otherwise normalize a second time).
model = DinoV3ViTModel.from_weights(
    "kerasformers/dinov3-vitl16-pretrain-lvd1689m", include_normalization=False
)
processor = DinoV3ImageProcessor.from_weights("kerasformers/dinov3-vitl16-pretrain-lvd1689m")

pixel_values = processor("your_image.jpg")["pixel_values"]
features = model(pixel_values, training=False)
print(pixel_values.shape, features.shape)

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

Variant Hub Backbone
dinov3-vits16-pretrain-lvd1689m kerasformers/dinov3-vits16-pretrain-lvd1689m ViT-S/16
dinov3-vitb16-pretrain-lvd1689m kerasformers/dinov3-vitb16-pretrain-lvd1689m ViT-B/16
dinov3-vitl16-pretrain-lvd1689m kerasformers/dinov3-vitl16-pretrain-lvd1689m ViT-L/16
dinov3-convnext-tiny-pretrain-lvd1689m kerasformers/dinov3-convnext-tiny-pretrain-lvd1689m ConvNeXt-T
dinov3-convnext-small-pretrain-lvd1689m kerasformers/dinov3-convnext-small-pretrain-lvd1689m ConvNeXt-S
dinov3-convnext-base-pretrain-lvd1689m kerasformers/dinov3-convnext-base-pretrain-lvd1689m ConvNeXt-B
dinov3-convnext-large-pretrain-lvd1689m kerasformers/dinov3-convnext-large-pretrain-lvd1689m ConvNeXt-L

Tips

  • Set KERAS_BACKEND before importing Keras / kerasformers.
  • The processor normalizes; pair it with include_normalization=False. To skip it, feed raw [0, 255] pixels and keep the default include_normalization=True.
  • Upstream facebook/dinov3-* weights are gated under the DINOv3 license.
  • See DINOv3 docs and Loading Weights.
  • Community / upstream weights: DinoV3ViTModel.from_weights("hf:facebook/dinov3-vitl16-pretrain-lvd1689m").

Special Thanks

A huge thank you to the Meta DINOv3 authors for creating and releasing these models.

License: see the DINOv3 license (Hub tag: other / dinov3-license).

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

Model tree for kerasformers/dinov3-vitl16-pretrain-lvd1689m

Collection including kerasformers/dinov3-vitl16-pretrain-lvd1689m

Paper for kerasformers/dinov3-vitl16-pretrain-lvd1689m