/ Модель

Характеристики

Параметры
28,3 млн
Лицензия
Своя лицензия
Архитектура
dinov3_vit · dense
Библиотека
transformers
Опубликована
4 апр 2026

eupe_vits16

Эмбеддинги изображенийИзображение → embedding5 профессий

Конверсия EUPE ViT-S/16 на базе DINOv3 для извлечения признаков изображений.

88скачиваний за 30 дней0лайковвеса обновлены4 апр 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

kittn/eupe_vits16 — конверсия EUPE ViT-S/16 в формат Hugging Face Transformers на базе DINOv3, опубликованная пользователем kittn. Модель предназначена для извлечения признаков изображений; её можно использовать как визуальный энкодер для получения представлений изображения и патчей через last_hidden_state.

Архитектура — ViT-S/16 с 28,3 млн параметров, 12 слоями, скрытым размером 384, шестью головами внимания, четырьмя register-токенами и размером патча 16. Репозиторий содержит веса safetensors. Для минимального расхождения с исходным путём инференса README рекомендует запуск на CUDA с bf16 autocast. Реализация RoPE в стандартном Hugging Face DINOv3 согласована сама с собой, но без дополнительной правки не совпадает побитно с эталонной реализацией EUPE/DINOv3.

Лицензия указана как other, поэтому конкретные права использования по имеющимся сведениям определить нельзя. Модель принимает изображения и выдаёт признаки-векторы; естественные языки для неё не применимы.

Сценарии применения

  • Извлечение визуальных признаков из изображений
  • Получение векторных представлений изображений для поиска по сходству
  • Извлечение представлений патчей изображения для последующей обработки

Ограничения

Стандартная реализация RoPE в Hugging Face не обеспечивает побитное совпадение с эталонным инференсом EUPE/DINOv3 без дополнительной правки. Для минимального расхождения README рекомендует CUDA с bf16 autocast; лицензия обозначена как other, без уточнения условий.

Для каких профессий подходит5

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

EUPE ViT-S/16

kittn/eupe_vits16 is a Hugging Face transformers DINOv3 ViT conversion of facebook/EUPE-ViT-S.

Usage

import torch
import requests
from PIL import Image
from transformers import AutoImageProcessor, AutoModel

image = Image.open(
    requests.get("http://images.cocodataset.org/val2017/000000039769.jpg", stream=True).raw
).convert("RGB")

processor = AutoImageProcessor.from_pretrained("kittn/eupe_vits16")
model = AutoModel.from_pretrained("kittn/eupe_vits16").eval().to("cuda")

inputs = processor(images=image, return_tensors="pt", size={"height": 512, "width": 512}).to("cuda")

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
    outputs = model(**inputs)

print("clstoken:", outputs.last_hidden_state[:, 0].shape)  # torch.Size([1, 384])
print("patchtokens:", outputs.last_hidden_state[:, 1 + model.config.num_register_tokens :].shape)  # torch.Size([1, 1024, 384])
print("pooler_output:", outputs.pooler_output.shape)  # torch.Size([1, 384])

last_hidden_state contains:

  • token 0: CLS token
  • tokens 1:5: 4 register tokens
  • remaining tokens: patch tokens

Architecture

  • Architecture: ViT-S/16
  • Hidden size: 384
  • Layers: 12
  • Attention heads: 6
  • Register tokens: 4
  • Patch size: 16

Minimal-loss inference

If you want to minimize the discrepancy versus the original EUPE inference path, prefer running the Hugging Face model on CUDA under torch.autocast("cuda", dtype=torch.bfloat16) rather than hard-casting the full model to bfloat16.

RoPE note

The stock Hugging Face DINOv3 implementation is internally correct and self-consistent, but it does not match the DINOv3 / EUPE reference implementations bitwise. The mismatch comes from the reference code persisting bf16-rounded RoPE periods in the checkpoint and computing angles as coords / periods, while Hugging Face reconstructs fp32 inv_freq from rope_theta and computes coords * inv_freq.

If you want bitwise equivalence with the DINOv3 / EUPE references, run the following after loading model in the example above. It patches the already-loaded Hugging Face model to use the exact bf16-rounded periods and the reference RoPE forward:

import math
from types import MethodType

rope = model.rope_embeddings
head_dim = model.config.hidden_size // model.config.num_attention_heads
periods = (rope.base ** (torch.arange(head_dim // 4, dtype=torch.float32, device=rope.inv_freq.device) * (4.0 / head_dim))).to(torch.bfloat16).to(torch.float32)
rope.register_buffer("periods", periods, persistent=False)


def forward(self, pixel_values):
    _, _, height, width = pixel_values.shape
    num_patches_h = height // self.config.patch_size
    num_patches_w = width // self.config.patch_size

    coords_h = torch.arange(0.5, num_patches_h, device=pixel_values.device, dtype=torch.float32) / num_patches_h
    coords_w = torch.arange(0.5, num_patches_w, device=pixel_values.device, dtype=torch.float32) / num_patches_w
    coords = torch.stack(torch.meshgrid(coords_h, coords_w, indexing="ij"), dim=-1).flatten(0, 1)
    coords = 2.0 * coords - 1.0

    angles = 2 * math.pi * coords[:, :, None] / self.periods[None, None, :]
    angles = angles.flatten(1, 2).tile(2)

    cos = torch.cos(angles).to(dtype=pixel_values.dtype)
    sin = torch.sin(angles).to(dtype=pixel_values.dtype)
    return cos, sin


rope.forward = MethodType(forward, rope)

This restores bitwise equivalence in both pure fp32 and bf16 autocast.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · image-feature-extraction

Можно запустить

Подбираем GPU…

Класс архитектуры
DINOv3ViTModel
Ревизия весов
72158b5

0 моделей