/ Модель

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

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

maxvit_rmlp_nano_rw_256.sw_in1k

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

Компактная модель MaxViT из timm распознаёт объекты на изображениях и может служить backbone для извлечения визуальных признаков.

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

Бенчмарки

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

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

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

  • imagenetv2-matched-frequency

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

    Результат

    72,12 %

    image-classification 90,33 %
    timm

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

  • imagenet-real

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

    Результат

    97,57 %

    image-classification 87,715 %
    timm

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

  • imagenet-r-clean

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

    Результат

    95,43 %

    image-classification 99,08 %
    timm

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

  • imagenet-a-clean

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

    Результат

    96 %

    image-classification 98,96 %
    timm

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

  • imagenet-r

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

    Результат

    44,1 %

    image-classification 58,157 %
    timm

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

  • imagenet-a

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

    Результат

    30,987 %

    image-classification 63,12 %
    timm

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

  • imagenet

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

    Результат

    96,274 %

    image-classification 82,978 %
    timm

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

  • sketch

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

    Результат

    50,618 %

    image-classification 31,971 %
    timm

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

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

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

maxvit_rmlp_nano_rw_256.sw_in1k — модель классификации изображений из библиотеки timm, обученная Ross Wightman на ImageNet-1k. Она предназначена для распознавания объектов и сцен на изображениях, а также может использоваться как визуальный backbone для извлечения признаков и эмбеддингов.

Архитектура MaxViT сочетает блоки свёрточной обработки MBConv и внимание трансформера по окнам и сетке; вариант использует MLP Log-CPB для относительного позиционного смещения. В модели 15,5 млн параметров, расчётный размер входного изображения — 256 × 256 пикселей. Доступны веса PyTorch и safetensors; библиотека — timm.

Модель обучена на ImageNet-1k и предназначена для задач общего распознавания изображений. Лицензия Apache-2.0 разрешает использование и распространение на её условиях. Результаты зависят от качества и предметной области изображений; для специализированных классов может потребоваться адаптация.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Model card for maxvit_rmlp_nano_rw_256.sw_in1k

A timm specific MaxViT (w/ a MLP Log-CPB (continuous log-coordinate relative position bias motivated by Swin-V2) image classification model. Trained in timm on ImageNet-1k by Ross Wightman.

ImageNet-1k training done on TPUs thanks to support of the TRC program.

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): 15.5
    • GMACs: 4.5
    • Activations (M): 31.9
    • Image size: 256 x 256
  • Papers:
  • Dataset: ImageNet-1k

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_rmlp_nano_rw_256.sw_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_rmlp_nano_rw_256.sw_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, 64, 128, 128])
    #  torch.Size([1, 64, 64, 64])
    #  torch.Size([1, 128, 32, 32])
    #  torch.Size([1, 256, 16, 16])
    #  torch.Size([1, 512, 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(
    'maxvit_rmlp_nano_rw_256.sw_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, 512, 8, 8) 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…

Ревизия весов
02fdc6b

0 моделей