/ Модель

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

Лицензия
Apache 2.0
Библиотека
timm
Опубликована
21 авг 2024

hiera_small_abswin_256.sbb2_pd_e200_in12k

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

Иерархический Vision Transformer Hiera для классификации изображений, извлечения карт признаков и эмбеддингов.

124скачиваний за 30 дней0лайковвеса обновлены21 янв 2025

Бенчмарки

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

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

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

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

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

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

timm/hiera_small_abswin_256.sbb2_pd_e200_in12k — модель классификации изображений на основе иерархического Vision Transformer Hiera, опубликованная в библиотеке PyTorch Image Models (timm). Её обучил Ross Wightman на ImageNet-12k по рецепту из работы «Searching for better ViT baselines». Модель содержит 42,7 млн параметров, использует входное разрешение 256 × 256 и имеет вычислительную сложность 7,7 GMACs.

Модель предназначена для классификации изображений и может использоваться как базовая сеть для извлечения карт признаков и эмбеддингов изображений. В обучении применялись маскирование патчей с использованием блоков Hiera и обучаемые масштабные коэффициенты слоёв. Позиционные эмбеддинги с абсолютными координатами можно адаптировать к другим разрешениям.

Веса доступны в форматах PyTorch и safetensors по лицензии Apache-2.0. Модель обучена на ImageNet-12k; показатели качества для этой конкретной версии в карточке не приведены.

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

  • классификация изображений по категориям
  • извлечение карт признаков из изображений
  • получение эмбеддингов изображений для поиска и сравнения
  • использование визуальной базовой сети в компьютерном зрении

Ограничения

Обучена на ImageNet-12k, поэтому её качество может снижаться на изображениях и категориях, отличающихся от обучающих данных. В карточке не приведены показатели качества именно этой версии.

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

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

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

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

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

Открыть на Hugging Face

Model card for hiera_small_abswin_256.sbb2_pd_e200_in12k

A Hiera image classification model w/ resizeable abs-win position embeddings and layer-scale. Trained on ImageNet-12k by Ross Wightman using "Searching for better ViT baselines" recipe. Patch dropout used during training using Hiera mask units, appeared to make pos embed more generalizable to other resolutions.

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('hiera_small_abswin_256.sbb2_pd_e200_in12k', 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(
    'hiera_small_abswin_256.sbb2_pd_e200_in12k',
    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, 96, 64, 64])
    #  torch.Size([1, 192, 32, 32])
    #  torch.Size([1, 384, 16, 16])
    #  torch.Size([1, 768, 8, 8])

    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(
    'hiera_small_abswin_256.sbb2_pd_e200_in12k',
    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, 64, 768) shaped tensor

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

Model Comparison

By Top-1

modeltop1top5param_count
hiera_huge_224.mae_in1k_ft_in1k86.83498.01672.78
hiera_large_224.mae_in1k_ft_in1k86.04297.648213.74
hiera_base_plus_224.mae_in1k_ft_in1k85.13497.15869.9
hiera_small_abswin_256.sbb2_e200_in12k_ft_in1k84.91297.26035.01
hiera_small_abswin_256.sbb2_pd_e200_in12k_ft_in1k84.56097.10635.01
hiera_base_224.mae_in1k_ft_in1k84.4997.03251.52
hiera_small_224.mae_in1k_ft_in1k83.88496.68435.01
hiera_tiny_224.mae_in1k_ft_in1k82.78696.20427.91

Citation

@article{ryali2023hiera,
  title={Hiera: A Hierarchical Vision Transformer without the Bells-and-Whistles},
  author={Ryali, Chaitanya and Hu, Yuan-Ting and Bolya, Daniel and Wei, Chen and Fan, Haoqi and Huang, Po-Yao and Aggarwal, Vaibhav and Chowdhury, Arkabandhu and Poursaeed, Omid and Hoffman, Judy and Malik, Jitendra and Li, Yanghao and Feichtenhofer, Christoph},
  journal={ICML},
  year={2023}
}
@misc{rw2019timm,
  author = {Ross Wightman},
  title = {PyTorch Image Models},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  doi = {10.5281/zenodo.4414861},
  howpublished = {\url{https://github.com/huggingface/pytorch-image-models}}
}
@article{bolya2023window,
  title={Window Attention is Bugged: How not to Interpolate Position Embeddings},
  author={Bolya, Daniel and Ryali, Chaitanya and Hoffman, Judy and Feichtenhofer, Christoph},
  journal={arXiv preprint arXiv:2311.05613},
  year={2023}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей