/ Модель

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

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

tresnet_v2_l.miil_in21k

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

TResNet V2-L — предобученная на ImageNet-21K-P модель для классификации изображений и извлечения визуальных признаков.

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

Бенчмарки

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

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

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

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

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

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

TResNet V2-L — сверточная модель для классификации изображений и извлечения визуальных признаков. Веса обучены авторами работ на ImageNet-21K-P, подмножестве ImageNet-22k примерно из 11 тысяч классов. Вариант опубликован timm и содержит 67,1 млн параметров; для стандартной совместимости InplaceABN заменён на обычный BatchNorm. Модель рассчитана на изображения размером 224 × 224 и может использоваться как backbone для получения карт признаков и эмбеддингов.

Подходит для классификации изображений и построения визуальных признаков в прикладных системах компьютерного зрения. Репозиторий предоставляет веса в форматах PyTorch и Safetensors и распространяется по лицензии Apache-2.0. README описывает предобучение на ImageNet-21K-P, но не сообщает отдельные результаты оценки или ограничения по применению.

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

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

Ограничения

Модель обучена на ImageNet-21K-P; README не приводит метрики оценки и не описывает качество на других наборах данных. Веса адаптированы для использования со стандартным BatchNorm вместо InplaceABN.

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

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

Открыть на Hugging Face

Model card for tresnet_v2_l.miil_in21k

A TResNet image classification model. Trained on ImageNet-21K-P ("ImageNet-21K Pretraining for the Masses", a 11k subset of ImageNet-22k) by paper authors.

The weights for this model have been remapped and modified from the originals to work with standard BatchNorm instead of InplaceABN. inplace_abn can be problematic to build recently and ends up slower with memory_format=channels_last, torch.compile(), etc.

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('tresnet_v2_l.miil_in21k', 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(
    'tresnet_v2_l.miil_in21k',
    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, 256, 56, 56])
    #  torch.Size([1, 512, 28, 28])
    #  torch.Size([1, 1024, 14, 14])
    #  torch.Size([1, 2048, 7, 7])

    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(
    'tresnet_v2_l.miil_in21k',
    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, 2048, 7, 7) shaped tensor

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

Citation

@misc{ridnik2020tresnet,
    title={TResNet: High Performance GPU-Dedicated Architecture},
    author={Tal Ridnik and Hussam Lawen and Asaf Noy and Itamar Friedman},
    year={2020},
    eprint={2003.13630},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}
@misc{ridnik2021imagenet21k,
  title={ImageNet-21K Pretraining for the Masses}, 
  author={Tal Ridnik and Emanuel Ben-Baruch and Asaf Noy and Lihi Zelnik-Manor},
  year={2021},
  eprint={2104.10972},
  archivePrefix={arXiv},
  primaryClass={cs.CV}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Ревизия весов
21419ad

0 моделей