/ Модель

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

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

maxvit_large_tf_512.in21k_ft_in1k

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

Крупная модель MaxViT для классификации изображений 512 × 512, предварительно обученная на ImageNet-21k и дообученная на ImageNet-1k.

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

Бенчмарки

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

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

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

  • imagenet-r

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

    Результат

    81,66 %

    image-classification 70,357 %
    timm

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

  • imagenet-a

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

    Результат

    94,987 %

    image-classification 81,693 %
    timm

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

  • sketch

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

    Результат

    77,258 %

    image-classification 55,151 %
    timm

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

  • imagenetv2-matched-frequency

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

    Результат

    95,16 %

    image-classification 80,04 %
    timm

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

  • imagenet-r-clean

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

    Результат

    97,66 %

    image-classification 99,73 %
    timm

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

  • imagenet

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

    Результат

    98,608 %

    image-classification 88,236 %
    timm

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

  • imagenet-real

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

    Результат

    98,64 %

    image-classification 90,375 %
    timm

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

  • imagenet-a-clean

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

    Результат

    98,61 %

    image-classification 99,79 %
    timm

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

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

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

MaxViT Large TF 512 — модель классификации изображений из семейства MaxViT, перенесённая из официальной реализации TensorFlow в PyTorch. Исходную архитектуру разработали авторы статьи MaxViT; перенос выполнил Ross Wightman для библиотеки timm. Модель содержит около 212,3 млн параметров и рассчитана на входные изображения размером 512 × 512 пикселей.

Архитектура сочетает блоки MBConv и два типа внимания: оконное и сеточное. Модель предварительно обучена на ImageNet-21k, затем дообучена авторами статьи на ImageNet-1k. Она предназначена для классификации изображений, а также может использоваться как визуальный backbone для извлечения признаков и эмбеддингов. Репозиторий распространяется по лицензии Apache-2.0.

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

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

Ограничения

Крупная модель с высоким вычислительным бюджетом: 212,3 млн параметров и 244,8 GMACs при размере изображения 512 × 512. Обучение и настройка указаны для датасетов ImageNet, поэтому качество на других предметных областях может отличаться.

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

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

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

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

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

Открыть на Hugging Face

Model card for maxvit_large_tf_512.in21k_ft_in1k

An official MaxViT image classification model. Pretrained in tensorflow on ImageNet-21k (21843 Google specific instance of ImageNet-22k) and fine-tuned on ImageNet-1k 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): 212.3
    • GMACs: 244.8
    • Activations (M): 942.1
    • Image size: 512 x 512
  • Papers:
  • Dataset: ImageNet-1k
  • Pretrain 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_large_tf_512.in21k_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(
    'maxvit_large_tf_512.in21k_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, 128, 256, 256])
    #  torch.Size([1, 128, 128, 128])
    #  torch.Size([1, 256, 64, 64])
    #  torch.Size([1, 512, 32, 32])
    #  torch.Size([1, 1024, 16, 16])

    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_large_tf_512.in21k_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, 1024, 16, 16) 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…

Ревизия весов
5c09580

0 моделей