Image Classification
vision
transformer
self-supervised

DINOv2 for TI EdgeAI

Self-Supervised Vision Transformer Backbone for Image Classification

License Framework Task Dataset


Overview

DINOv2 (Self-Distillation with No Labels v2) is a self-supervised Vision Transformer pre-training method from Meta AI. It produces high-performance visual features using a purely self-supervised training regime on 142M images — no labels required during pre-training. The pretrained backbones are paired with a lightweight linear classification head for ImageNet-1K inference, outputting 1000-class logits.

All models use a ViT/14 patch size (14x14 patches) and are evaluated at 224x224 input resolution. Some variants add register tokens (arXiv:2309.16588) — extra learnable tokens that absorb the attention artifacts otherwise seen in patch-token feature maps, giving slightly better accuracy with the same backbone size.

See DINO for the original first-generation models.


Model Variants

Model Architecture Params GFLOPs Top-1 Acc Validated Devices Config
dinov2_vits14_lc ViT-S/14 distilled 21M 4.6 81.1% TDA4VH dinov2_vits14_lc_config.yaml
dinov2_vits14_reg_lc ViT-S/14 distilled + registers 21M 4.6 80.9% TDA4VH dinov2_vits14_reg_lc_config.yaml
dinov2_vitb14_lc ViT-B/14 distilled 86M 17.6 84.5% TDA4VH dinov2_vitb14_lc_config.yaml
dinov2_vitb14_reg_lc ViT-B/14 distilled + registers 86M 17.6 84.6% TDA4VH dinov2_vitb14_reg_lc_config.yaml

Recommended for edge deployment: dinov2_vits14_lc (best accuracy/compute trade-off)

Note: ViT-L/14 and ViT-g/14 variants (dinov2_vitl14_lc, dinov2_vitg14_lc, and their _reg_lc counterparts) are excluded from this repo — they require ~16 GB+ RAM to export and are not suitable for edge (TIDL) deployment.


Quick Start

Prerequisites

pip install torch torchvision onnx>=1.22.0 onnxruntime>=1.23.2 onnx-simplifier

Export the Model

# Export the default model (ViT-S/14 distilled)
python prepare_model.py

# Export a specific model variant
python prepare_model.py --model dinov2_vitb14_lc

# Export the registers variant
python prepare_model.py --model dinov2_vits14_reg_lc

# Export all edge-suitable models
python prepare_model.py --model all

# Re-run shape fixing on an already-exported ONNX
python prepare_model.py --model dinov2_vits14_lc --skip-export

The script automatically:

  • Loads the pretrained backbone + linear classification head from PyTorch Hub (facebookresearch/dinov2)
  • Exports to ONNX (opset 17) with a dynamic batch axis
  • Fixes input shapes to [1, 3, 224, 224] and propagates shapes via ONNX shape inference
  • Runs onnx-simplifier (onnxsim) and validates the final model with onnx.checker

Compile and Infer uing edgeai-tidlrunner

Note: Run the commands below from inside the tidlrunner directory (the cloned edgeai-tidlrunner repository), with --config_path pointing to this model's config file.

Compile using edgeai-tidlrunner - on PC

cd /path/to/edgeai-tidlrunner
tidlrunner-cli compile --target_device J784S4 \
  --config_path /path/to/dinov2_vits14_lc_config.yaml

Run Inference Benchmark - on device

cd /path/to/edgeai-tidlrunner
tidlrunner-cli infer --target_device J784S4 \
  --config_path /path/to/dinov2_vits14_lc_config.yaml

Compile and Infer using edgeai-tidl-tools (Advanced):

Follow the instructions at https://github.com/TexasInstruments/edgeai-tidl-tools

Deploy using edgeai-tidl-tools:

Deplyment can be done using edgeai-tidl-tools. For ONNX models, onnxruntime-tidl with TIDL acceleration can be used. Consult the documentation of edgeai-tidl-tools for more details.


Citation

If you use these models, please cite:

@misc{oquab2023dinov2,
  title={DINOv2: Learning Robust Visual Features without Supervision},
  author={Oquab, Maxime and Darcet, Timothée and Moutakanni, Theo and others},
  journal={arXiv:2304.07193},
  year={2023}
}

@misc{darcet2023vitneedreg,
  title={Vision Transformers Need Registers},
  author={Darcet, Timothée and Oquab, Maxime and Mairal, Julien and Bojanowski, Piotr},
  journal={arXiv:2309.16588},
  year={2023}
}

🔗 Resources

Resource Link
Paper arXiv:2304.07193
Registers Paper arXiv:2309.16588
Source Code facebookresearch/dinov2
edgeai-tidl-tools GitHub
edgeai-tidlrunner GitHub
EdgeAI SDK Documentation
DINO Predecessor model

Related Models

DINO Predecessor First-generation self-supervised ViT

ViT Alternative backbone Supervised transformer

ResNet CNN backbone Lower compute

ConvNeXt Modern CNN Transformer-inspired design


Maintained by: Texas Instruments EdgeAI Team
Last Updated: August 2026

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

Dataset used to train TexasInstruments-EdgeAI/DINOv2-Classification

Papers for TexasInstruments-EdgeAI/DINOv2-Classification