Skip to content

DINOv2

Classification Base Model

What is DINOv2?

This repository contains the code supporting the DINOv2 base model for use with Autodistill.

DINOv2, developed by Meta Research, is a self-supervised training method for computer vision models. This library uses DINOv2 image embeddings with SVM to build a classification model.

Installation

To use DINOv2 with autodistill, you need to install the following dependency:

pip3 install autodistill-dinov2

Quickstart

from autodistill_dinov2 import DINOv2

target_model = DINOv2(None)

# train a model
# specify the directory where your annotations (in multiclass classification folder format)
# DINOv2 embeddings are saved in a file called "embeddings.json" the folder in which you are working
# with the structure {filename: embedding}
target_model.train("./context_images_labeled")

# get class list
# print(target_model.ontology.classes())

# run inference on the new model
pred = target_model.predict("./context_images_labeled/train/images/dog-7.jpg")

print(pred)