/ Модель

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

Лицензия
Apache 2.0
Библиотека
timm
Опубликована
2 июл 2025

vit_small_patch16_rope_ape_224.naver_in1k

Классификация изображенийИзображение → label

Компактная модель Vision Transformer с RoPE и абсолютными позиционными эмбеддингами для классификации изображений и извлечения визуальных признаков.

104скачиваний за 30 дней0лайковвеса обновлены2 июл 2025

Бенчмарки

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

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

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

  • imagenet-a-clean

    top1 · выше — лучше

    Результат

    94,64 %

    image-classification 98,31 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-r-clean

    top1 · выше — лучше

    Результат

    94,33 %

    image-classification 98,51 %
    timm

    Публичная таблицаревизия не подтверждена

  • sketch

    top5 · выше — лучше

    Результат

    50,683 %

    image-classification 33,52 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-a

    top1 · выше — лучше

    Результат

    22,853 %

    image-classification 50,613 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-real

    top5 · выше — лучше

    Результат

    96,853 %

    image-classification 86,694 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-r

    top5 · выше — лучше

    Результат

    56,49 %

    image-classification 44,163 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenetv2-matched-frequency

    top5 · выше — лучше

    Результат

    88,47 %

    image-classification 70,68 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet

    top5 · выше — лучше

    Результат

    94,988 %

    image-classification 81,016 %
    timm

    Публичная таблицаревизия не подтверждена

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

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

ROPE-ViT — модель зрения на архитектуре Vision Transformer, разработанная авторами исследования о rotary position embedding для Vision Transformer. Этот вариант обучен авторами статьи на ImageNet-1k и предназначен для классификации изображений, а также может использоваться как базовая сеть для извлечения признаков и эмбеддингов изображений.

Модель содержит 22,1 млн параметров, использует патчи размером 16 пикселей и обучалась на изображениях 224 × 224. В позиционных представлениях сочетаются rotary position embeddings (RoPE) и абсолютные позиционные эмбеддинги. В README заявлена устойчивость к увеличению разрешения: модель проверялась на изображениях 320 × 320, однако приведённые таблицы относятся к более крупным вариантам семейства и не дают отдельной оценки точности этого варианта.

Для запуска доступны веса PyTorch и safetensors; библиотека модели — timm. Лицензия — Apache-2.0. Модель ориентирована на классы ImageNet-1k, поэтому её качество на других наборах данных и предметных областях может потребовать отдельной проверки или дообучения.

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

  • Классификация изображений по классам ImageNet-1k
  • Извлечение признаков из изображений для последующих ML-задач
  • Получение эмбеддингов изображений для сравнения и поиска
  • Использование как визуального backbone в компьютерном зрении

Ограничения

Обучена на ImageNet-1k, поэтому перенос на другие наборы данных и специализированные области не гарантирован. README не приводит отдельной оценки точности именно этого варианта модели.

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

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

Открыть на Hugging Face

Model card for vit_small_patch16_rope_ape_224.naver_in1k

A ROPE-ViT model with ROPE and absolute position embeddings for image classification. Trained on ImageNet-1k by paper authors.

Model Details

Model Usage

Image Classification

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model('vit_small_patch16_rope_ape_224.naver_in1k', pretrained=True)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # unsqueeze single image into batch of 1

top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)

Feature Map Extraction

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model(
    'vit_small_patch16_rope_ape_224.naver_in1k',
    pretrained=True,
    features_only=True,
)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # unsqueeze single image into batch of 1

for o in output:
    # print shape of each feature map in output
    # e.g.:
    #  torch.Size([1, 384, 14, 14])
    #  torch.Size([1, 384, 14, 14])
    #  torch.Size([1, 384, 14, 14])

    print(o.shape)

Image Embeddings

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model(
    'vit_small_patch16_rope_ape_224.naver_in1k',
    pretrained=True,
    num_classes=0,  # remove classifier nn.Linear
)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # output is (batch_size, num_features) shaped tensor

# or equivalently (without needing to set num_classes=0)

output = model.forward_features(transforms(img).unsqueeze(0))
# output is unpooled, a (1, 197, 384) shaped tensor

output = model.forward_head(output, pre_logits=True)
# output is a (1, num_features) shaped tensor

Model Comparison

By Top-1 (224x224 resolution)

modelimg_sizetop1top5param_count
vit_large_patch16_rope_mixed_ape_224.naver_in1k22484.8497.122304.4
vit_large_patch16_rope_mixed_224.naver_in1k22484.82897.116304.2
vit_large_patch16_rope_ape_224.naver_in1k22484.6597.154304.37
vit_large_patch16_rope_224.naver_in1k22484.64897.122304.17
vit_base_patch16_rope_mixed_ape_224.naver_in1k22483.89496.75486.59
vit_base_patch16_rope_mixed_224.naver_in1k22483.80496.71286.44
vit_base_patch16_rope_ape_224.naver_in1k22483.78296.6186.59
vit_base_patch16_rope_224.naver_in1k22483.71896.67286.43
vit_small_patch16_rope_224.naver_in1k22481.2395.02221.98
vit_small_patch16_rope_mixed_224.naver_in1k22481.21695.02221.99
vit_small_patch16_rope_ape_224.naver_in1k22481.00495.01622.06
vit_small_patch16_rope_mixed_ape_224.naver_in1k22480.98694.97622.06

Extrapolation Performance (320x320 resolution)

modelimg_sizetop1top5param_count
vit_large_patch16_rope_mixed_224.naver_in1k32085.65697.474304.2
vit_large_patch16_rope_mixed_ape_224.naver_in1k32085.59497.508304.4
vit_large_patch16_rope_ape_224.naver_in1k32085.34497.438304.37
vit_large_patch16_rope_224.naver_in1k32085.25897.42304.17
vit_base_patch16_rope_mixed_224.naver_in1k32084.6597.10686.44
vit_base_patch16_rope_mixed_ape_224.naver_in1k32084.5897.14486.59
vit_base_patch16_rope_ape_224.naver_in1k32084.36896.96886.59
vit_base_patch16_rope_224.naver_in1k32084.29696.89886.43
vit_small_patch16_rope_mixed_224.naver_in1k32082.23895.59221.99
vit_small_patch16_rope_mixed_ape_224.naver_in1k32082.05695.58622.06
vit_small_patch16_rope_ape_224.naver_in1k32081.94495.50622.06
vit_small_patch16_rope_224.naver_in1k32081.4695.14221.98

ROPE-ViT demonstrates strong extrapolation performance when tested at higher resolutions than training resolution (224x224), maintaining or improving accuracy at 320x320.

Citation

@inproceedings{heo2024rotary,
  title={Rotary position embedding for vision transformer},
  author={Heo, Byeongho and Park, Song and Han, Dongyoon and Yun, Sangdoo},
  booktitle={European Conference on Computer Vision},
  pages={289--305},
  year={2024},
  organization={Springer}
}

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

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

GPU в ailist

Универсальный рантайм · timm · image-classification

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

Подбираем GPU…

Ревизия весов
e72dd92

0 моделей