/ Модель

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

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

maxvit_xlarge_tf_224.in21k

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

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

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

Бенчмарки

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

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

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

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

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

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

MaxViT XLarge TF 224 IN21k — модель классификации изображений семейства MaxViT, разработанная авторами MaxViT и перенесённая из TensorFlow в PyTorch Россом Уайтманом для библиотеки timm. Она обучена на ImageNet-21k и предназначена для отнесения изображений к классам, извлечения карт признаков и получения визуальных эмбеддингов.

Архитектура MaxViT сочетает блоки MBConv со слоями самовнимания по окнам и сетке. Модель содержит около 507 млн параметров и рассчитана на изображения размером 224 × 224 пикселя. Репозиторий содержит веса PyTorch в формате safetensors; лицензия — Apache-2.0.

Большой размер модели и вычислительная стоимость ограничивают её применение на устройствах с небольшими ресурсами. Обучение на ImageNet-21k ориентирует её на классификацию изображений общего назначения; для специализированных классов может потребоваться дообучение.

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

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

Ограничения

Модель крупная — около 507 млн параметров — и требует значительных вычислительных ресурсов. Обучение на ImageNet-21k не гарантирует точности для специализированных предметных областей.

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

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

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

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

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

Открыть на Hugging Face

Model card for maxvit_xlarge_tf_224.in21k

An official MaxViT image classification model. Trained in tensorflow on ImageNet-21k (21843 Google specific instance of ImageNet-22k) by paper authors.

Ported from official Tensorflow implementation (https://github.com/google-research/maxvit) to PyTorch by Ross Wightman.

Model Variants in maxxvit.py

MaxxViT covers a number of related model architectures that share a common structure including:

  • CoAtNet - Combining MBConv (depthwise-separable) convolutional blocks in early stages with self-attention transformer blocks in later stages.
  • MaxViT - Uniform blocks across all stages, each containing a MBConv (depthwise-separable) convolution block followed by two self-attention blocks with different partitioning schemes (window followed by grid).
  • CoAtNeXt - A timm specific arch that uses ConvNeXt blocks in place of MBConv blocks in CoAtNet. All normalization layers are LayerNorm (no BatchNorm).
  • MaxxViT - A timm specific arch that uses ConvNeXt blocks in place of MBConv blocks in MaxViT. All normalization layers are LayerNorm (no BatchNorm).
  • MaxxViT-V2 - A MaxxViT variation that removes the window block attention leaving only ConvNeXt blocks and grid attention w/ more width to compensate.

Aside from the major variants listed above, there are more subtle changes from model to model. Any model name with the string rw are timm specific configs w/ modelling adjustments made to favour PyTorch eager use. These were created while training initial reproductions of the models so there are variations. All models with the string tf are models exactly matching Tensorflow based models by the original paper authors with weights ported to PyTorch. This covers a number of MaxViT models. The official CoAtNet models were never released.

Model Details

  • Model Type: Image classification / feature backbone
  • Model Stats:
    • Params (M): 507.0
    • GMACs: 97.5
    • Activations (M): 191.0
    • Image size: 224 x 224
  • Papers:
  • Dataset: ImageNet-21k

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('maxvit_xlarge_tf_224.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(
    'maxvit_xlarge_tf_224.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, 192, 112, 112])
    #  torch.Size([1, 192, 56, 56])
    #  torch.Size([1, 384, 28, 28])
    #  torch.Size([1, 768, 14, 14])
    #  torch.Size([1, 1536, 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(
    'maxvit_xlarge_tf_224.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, 1536, 7, 7) shaped tensor

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

Model Comparison

By Top-1

modeltop1top5samples / secParams (M)GMACAct (M)
maxvit_xlarge_tf_512.in21k_ft_in1k88.5398.6421.76475.77534.141413.22
maxvit_xlarge_tf_384.in21k_ft_in1k88.3298.5442.53475.32292.78668.76
maxvit_base_tf_512.in21k_ft_in1k88.2098.5350.87119.88138.02703.99
maxvit_large_tf_512.in21k_ft_in1k88.0498.4036.42212.33244.75942.15
maxvit_large_tf_384.in21k_ft_in1k87.9898.5671.75212.03132.55445.84
maxvit_base_tf_384.in21k_ft_in1k87.9298.54104.71119.6573.80332.90
maxvit_rmlp_base_rw_384.sw_in12k_ft_in1k87.8198.37106.55116.1470.97318.95
maxxvitv2_rmlp_base_rw_384.sw_in12k_ft_in1k87.4798.37149.49116.0972.98213.74
coatnet_rmlp_2_rw_384.sw_in12k_ft_in1k87.3998.31160.8073.8847.69209.43
maxvit_rmlp_base_rw_224.sw_in12k_ft_in1k86.8998.02375.86116.1423.1592.64
maxxvitv2_rmlp_base_rw_224.sw_in12k_ft_in1k86.6498.02501.03116.0924.2062.77
maxvit_base_tf_512.in1k86.6097.9250.75119.88138.02703.99
coatnet_2_rw_224.sw_in12k_ft_in1k86.5797.89631.8873.8715.0949.22
maxvit_large_tf_512.in1k86.5297.8836.04212.33244.75942.15
coatnet_rmlp_2_rw_224.sw_in12k_ft_in1k86.4997.90620.5873.8815.1854.78
maxvit_base_tf_384.in1k86.2997.80101.09119.6573.80332.90
maxvit_large_tf_384.in1k86.2397.6970.56212.03132.55445.84
maxvit_small_tf_512.in1k86.1097.7688.6369.1367.26383.77
maxvit_tiny_tf_512.in1k85.6797.58144.2531.0533.49257.59
maxvit_small_tf_384.in1k85.5497.46188.3569.0235.87183.65
maxvit_tiny_tf_384.in1k85.1197.38293.4630.9817.53123.42
maxvit_large_tf_224.in1k84.9396.97247.71211.7943.68127.35
coatnet_rmlp_1_rw2_224.sw_in12k_ft_in1k84.9096.961025.4541.728.1140.13
maxvit_base_tf_224.in1k84.8596.99358.25119.4724.0495.01
maxxvit_rmlp_small_rw_256.sw_in1k84.6397.06575.5366.0114.6758.38
coatnet_rmlp_2_rw_224.sw_in1k84.6196.74625.8173.8815.1854.78
maxvit_rmlp_small_rw_224.sw_in1k84.4996.76693.8264.9010.7549.30
maxvit_small_tf_224.in1k84.4396.83647.9668.9311.6653.17
maxvit_rmlp_tiny_rw_256.sw_in1k84.2396.78807.2129.156.7746.92
coatnet_1_rw_224.sw_in1k83.6296.38989.5941.728.0434.60
maxvit_tiny_rw_224.sw_in1k83.5096.501100.5329.065.1133.11
maxvit_tiny_tf_224.in1k83.4196.591004.9430.925.6035.78
coatnet_rmlp_1_rw_224.sw_in1k83.3696.451093.0341.697.8535.47
maxxvitv2_nano_rw_256.sw_in1k83.1196.331276.8823.706.2623.05
maxxvit_rmlp_nano_rw_256.sw_in1k83.0396.341341.2416.784.3726.05
maxvit_rmlp_nano_rw_256.sw_in1k82.9696.261283.2415.504.4731.92
maxvit_nano_rw_256.sw_in1k82.9396.231218.1715.454.4630.28
coatnet_bn_0_rw_224.sw_in1k82.3996.191600.1427.444.6722.04
coatnet_0_rw_224.sw_in1k82.3995.841831.2127.444.4318.73
coatnet_rmlp_nano_rw_224.sw_in1k82.0595.872109.0915.152.6220.34
coatnext_nano_rw_224.sw_in1k81.9595.922525.5214.702.4712.80
coatnet_nano_rw_224.sw_in1k81.7095.642344.5215.142.4115.41
maxvit_rmlp_pico_rw_256.sw_in1k80.5395.211594.717.521.8524.86

By Throughput (samples / sec)

modeltop1top5samples / secParams (M)GMACAct (M)
coatnext_nano_rw_224.sw_in1k81.9595.922525.5214.702.4712.80
coatnet_nano_rw_224.sw_in1k81.7095.642344.5215.142.4115.41
coatnet_rmlp_nano_rw_224.sw_in1k82.0595.872109.0915.152.6220.34
coatnet_0_rw_224.sw_in1k82.3995.841831.2127.444.4318.73
coatnet_bn_0_rw_224.sw_in1k82.3996.191600.1427.444.6722.04
maxvit_rmlp_pico_rw_256.sw_in1k80.5395.211594.717.521.8524.86
maxxvit_rmlp_nano_rw_256.sw_in1k83.0396.341341.2416.784.3726.05
maxvit_rmlp_nano_rw_256.sw_in1k82.9696.261283.2415.504.4731.92
maxxvitv2_nano_rw_256.sw_in1k83.1196.331276.8823.706.2623.05
maxvit_nano_rw_256.sw_in1k82.9396.231218.1715.454.4630.28
maxvit_tiny_rw_224.sw_in1k83.5096.501100.5329.065.1133.11
coatnet_rmlp_1_rw_224.sw_in1k83.3696.451093.0341.697.8535.47
coatnet_rmlp_1_rw2_224.sw_in12k_ft_in1k84.9096.961025.4541.728.1140.13
maxvit_tiny_tf_224.in1k83.4196.591004.9430.925.6035.78
coatnet_1_rw_224.sw_in1k83.6296.38989.5941.728.0434.60
maxvit_rmlp_tiny_rw_256.sw_in1k84.2396.78807.2129.156.7746.92
maxvit_rmlp_small_rw_224.sw_in1k84.4996.76693.8264.9010.7549.30
maxvit_small_tf_224.in1k84.4396.83647.9668.9311.6653.17
coatnet_2_rw_224.sw_in12k_ft_in1k86.5797.89631.8873.8715.0949.22
coatnet_rmlp_2_rw_224.sw_in1k84.6196.74625.8173.8815.1854.78
coatnet_rmlp_2_rw_224.sw_in12k_ft_in1k86.4997.90620.5873.8815.1854.78
maxxvit_rmlp_small_rw_256.sw_in1k84.6397.06575.5366.0114.6758.38
maxxvitv2_rmlp_base_rw_224.sw_in12k_ft_in1k86.6498.02501.03116.0924.2062.77
maxvit_rmlp_base_rw_224.sw_in12k_ft_in1k86.8998.02375.86116.1423.1592.64
maxvit_base_tf_224.in1k84.8596.99358.25119.4724.0495.01
maxvit_tiny_tf_384.in1k85.1197.38293.4630.9817.53123.42
maxvit_large_tf_224.in1k84.9396.97247.71211.7943.68127.35
maxvit_small_tf_384.in1k85.5497.46188.3569.0235.87183.65
coatnet_rmlp_2_rw_384.sw_in12k_ft_in1k87.3998.31160.8073.8847.69209.43
maxxvitv2_rmlp_base_rw_384.sw_in12k_ft_in1k87.4798.37149.49116.0972.98213.74
maxvit_tiny_tf_512.in1k85.6797.58144.2531.0533.49257.59
maxvit_rmlp_base_rw_384.sw_in12k_ft_in1k87.8198.37106.55116.1470.97318.95
maxvit_base_tf_384.in21k_ft_in1k87.9298.54104.71119.6573.80332.90
maxvit_base_tf_384.in1k86.2997.80101.09119.6573.80332.90
maxvit_small_tf_512.in1k86.1097.7688.6369.1367.26383.77
maxvit_large_tf_384.in21k_ft_in1k87.9898.5671.75212.03132.55445.84
maxvit_large_tf_384.in1k86.2397.6970.56212.03132.55445.84
maxvit_base_tf_512.in21k_ft_in1k88.2098.5350.87119.88138.02703.99
maxvit_base_tf_512.in1k86.6097.9250.75119.88138.02703.99
maxvit_xlarge_tf_384.in21k_ft_in1k88.3298.5442.53475.32292.78668.76
maxvit_large_tf_512.in21k_ft_in1k88.0498.4036.42212.33244.75942.15
maxvit_large_tf_512.in1k86.5297.8836.04212.33244.75942.15
maxvit_xlarge_tf_512.in21k_ft_in1k88.5398.6421.76475.77534.141413.22

Citation

@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{tu2022maxvit,
  title={MaxViT: Multi-Axis Vision Transformer},
  author={Tu, Zhengzhong and Talebi, Hossein and Zhang, Han and Yang, Feng and Milanfar, Peyman and Bovik, Alan and Li, Yinxiao},
  journal={ECCV},
  year={2022},
}        
@article{dai2021coatnet,
  title={CoAtNet: Marrying Convolution and Attention for All Data Sizes},
  author={Dai, Zihang and Liu, Hanxiao and Le, Quoc V and Tan, Mingxing},
  journal={arXiv preprint arXiv:2106.04803},
  year={2021}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Ревизия весов
9872cc8

0 моделей