/ Модель

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

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

vit_so400m_patch14_siglip_gap_378.webli_ft_in1k

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

Крупный визуальный энкодер ViT с SigLIP-предобучением для классификации изображений и извлечения признаков и эмбеддингов.

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

Бенчмарки

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

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

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

  • imagenet

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

    Результат

    89,056 %

    image-classification 98,752 %
    timm

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

  • imagenet-r-clean

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

    Результат

    97,72 %

    image-classification 99,77 %
    timm

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

  • imagenetv2-matched-frequency

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

    Результат

    96,27 %

    image-classification 81,62 %
    timm

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

  • imagenet-r

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

    Результат

    96,977 %

    image-classification 90,24 %
    timm

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

  • imagenet-a-clean

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

    Результат

    99,83 %

    image-classification 98,78 %
    timm

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

  • imagenet-real

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

    Результат

    98,648 %

    image-classification 90,939 %
    timm

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

  • imagenet-a

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

    Результат

    81,773 %

    image-classification 94,613 %
    timm

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

  • sketch

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

    Результат

    90,666 %

    image-classification 71,717 %
    timm

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

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

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

Это визуальный энкодер Vision Transformer из библиотеки timm, предварительно обученный с помощью контрастивного метода SigLIP на наборе WebLI и дообученный для классификации изображений на ImageNet-1k. Модель содержит около 414,1 млн параметров и рассчитана на изображения размером 378 × 378 пикселей.

Модель предназначена для классификации изображений, извлечения карт признаков и получения векторных представлений изображений. Её можно использовать как основу для задач компьютерного зрения и как визуальный энкодер в прикладных системах. Репозиторий предоставляет веса в форматах PyTorch и Safetensors; лицензия — Apache-2.0.

Это крупная модель с существенными вычислительными затратами. Настройка на ImageNet-1k ориентирует классификацию на его классы, поэтому качество на иных типах изображений может отличаться; текстовый ввод модель не принимает.

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

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

Ограничения

Модель крупная (около 414,1 млн параметров) и требует значительных вычислительных ресурсов. Классификация настроена на ImageNet-1k, поэтому применимость к изображениям вне распределения этого набора может быть ограничена.

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

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

Открыть на Hugging Face

Model card for vit_so400m_patch14_siglip_gap_378.webli_ft_in1k

A Vision Transformer (ViT) encoder. Pretrained with SigLIP contrastive learning. Fine-tuned on ImageNet-1k in timm.

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_so400m_patch14_siglip_gap_378.webli_ft_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_so400m_patch14_siglip_gap_378.webli_ft_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, 1152, 27, 27])
    #  torch.Size([1, 1152, 27, 27])
    #  torch.Size([1, 1152, 27, 27])

    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_so400m_patch14_siglip_gap_378.webli_ft_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, 729, 1152) shaped tensor

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

Model Comparison

Explore the dataset and runtime metrics of this model in timm model results.

Citation

@inproceedings{zhai2023sigmoid,
  title={Sigmoid loss for language image pre-training},
  author={Zhai, Xiaohua and Mustafa, Basil and Kolesnikov, Alexander and Beyer, Lucas},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
  pages={11975--11986},
  year={2023}
}
@article{dosovitskiy2020vit,
  title={An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale},
  author={Dosovitskiy, Alexey and Beyer, Lucas and Kolesnikov, Alexander and Weissenborn, Dirk and Zhai, Xiaohua and Unterthiner, Thomas and  Dehghani, Mostafa and Minderer, Matthias and Heigold, Georg and Gelly, Sylvain and Uszkoreit, Jakob and Houlsby, Neil},
  journal={ICLR},
  year={2021}
}
@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}}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Ревизия весов
0821f21

0 моделей