Vit Small Patch16 224.dinov3 Mlxim
dinov3
Model source
- Kind
- Other
- File size
- 82.5 MB
- Version
- vRevision 09ff93d
- Updated
- Sep 14, 2026
- Downloads
- 15
- Source
- Hugging Face
Source excerpt
dinov3
Sources
1 source
Sources
1 sourceVerified Aug 19
Model artifacts
1 artifact
Model artifacts
1 artifactSource excerpts
2 excerpts
Source excerpts
2 excerpts--- library_name: mlx-image license: other license_name: dinov3 license_link: https://ai.meta.com/resources/models-and-libraries/dinov3-license/ tags: - mlx - mlx-image - vision - dinov3 - image-feature-extraction pipeline_tag: image-feature-extraction --- # vit_small_patch16_224.dinov3 A [Vision Transformer](https://arxiv.org/abs/2010.11929v2) feature extraction model trained on the LVD-1689M web dataset with [DINOv3](https://arxiv.org/abs/2508.10104). The model was trained in self-supervised fashion. No classification head was trained, only the backbone. This is the **ViT-S/16** variant (21M parameters), distilled from the DINOv3 ViT-7B teacher model. Disclaimer: This is a porting of the Meta AI DINOv3 model weights to Apple MLX Framework. <!-- <div align="center"> <img width="100%" alt="DINO illustration" src="dino.gif"> </div> --> ## How to use ```bash pip install mlx-image ``` Here is how to use this model for feature extraction: ```python import mlx.core as mx from mlxim.model import create_model from mlxim.io import read_rgb from mlxim.transform import ImageNetTransform transform = ImageNetTransform(train=False, img_size=224) x = transform(read_rgb("image.png")) x = mx.expand_dims(x, 0) model = create_model("vit_small_patch16_224.dinov3") model.eval() embeds = model(x, is_training=False) ``` You can also use the embeddings from the layer before the head: ```python import mlx.core as mx from mlxim.model import create_model from mlxim.io import read_rgb from mlxim.transform import ImageNetTransform transform = ImageNetTransform(train=False, img_size=224) x = transform(read_rgb("image.png")) x = mx.expand_dims(x, 0) model = create_model("vit_small_patch16_224.dinov3", num_classes=0) model.eval() embeds = model(x, is_training=False) ``` ## Architecture This model follows the ViT architecture with a patch size of 16. For a 224×224 image this results in **1 class token + 4 register tokens + 196 patch tokens = 201 tokens**. The model can accept larger images provided the image shapes are multiples of the patch size (16). If this condition is not met, the model will crop to the closest smaller multiple. Key architectural features over DINOv2: - **RoPE**: Rotary Position Embeddings for 2D images - **SwiGLU**: Efficient SwiGLU feed-forward networks - **LayerScale**: For improved training stability in deep transformers - **Register tok...
Source context: 15 downloads · 0 likes · Pipeline image-feature-extraction · Library mlx-image · Repo etornam/vit_small_patch16_224.dinov3-mlxim
