timm documentation

MLP-Mixer, ResMLP и gMLP

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.0.31).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

MLP-Mixer, ResMLP и gMLP

Категория: MLP · Код: timm/models/mlp_mixer.py · Архитектуры: 15 · Предобученные веса: 19 (14 с результатами на ImageNet-1k)

Архитектуры All-MLP, чередующие смешивание токенов по патчам с смешиванием каналов: MLP-Mixer, ResMLP и gMLP (gating с пространственной проекцией). В docstring модуля указано, что реализация gMLP не проверена.

Статьи

Использование

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

>>> import timm
>>> model = timm.create_model('gmixer_24_224.ra3_in1k', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)

Поддержка Model API

ВозможностьMlpMixer
карты признаков features_only=True✓ (шаги 16, 16, 16)
forward_intermediates()✓
prune_intermediate_layers()✓
Любой размер входных данных, изменения не требуются✗
set_input_size()✗
dynamic_img_size=True✗
set_grad_checkpointing()✓
Послойное затухание LR (group_matcher())✓
reset_classifier()✓

✓ поддерживается, ✓ (квадрат) работает только для квадратных размеров, ✗ не поддерживается, – не требуется (модель уже принимает входные данные любого размера). Проверено путём запуска каждой функции на случайно инициализированной модели (MlpMixer с gmlp_ti16_224 при размере 224); ожидается, что другие архитектуры того же класса будут вести себя аналогично. Подробности см. на странице Model API.

Архитектуры

АрхитектураПараметры (млн)GMACsРазмер входных данныхПредобученные веса
gmixer_12_22412.702.672240
gmixer_24_22424.725.282241
gmlp_b16_22473.0815.782240
gmlp_s16_22419.424.422241
gmlp_ti16_2245.871.342240
mixer_b16_22459.8812.622244
mixer_b32_22460.293.242240
mixer_l16_224208.2044.602242
mixer_l32_224206.9411.272240
mixer_s16_22418.533.792240
mixer_s32_22419.101.002240
resmlp_12_22415.353.012243
resmlp_24_22430.025.962243
resmlp_36_22444.698.912242
resmlp_big_24_224129.14100.232243

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

Предобученные веса

Top-1 — это точность на валидационном наборе ImageNet-1k из results-imagenet.csv для указанного размера оценки, - если для весов нет результата ImageNet-1k (например, веса для предобучения или изображения-текст). Classes — размер предобученного классификатора, none для весов без классификатора.

Веса группируются по источнику: статья или происхождение, указанные в конфигурации предобученной модели, иначе организация на Hugging Face, отличная от timm, иначе первая часть тега предобученной модели (architecture.tag). Источники с одним весом перечислены в разделе other.

fb tags

ВесРазмер входных данныхTop-1 (%)Размер выборки для оценкиКлассыЛицензияHub
resmlp_12_224.fb_dino224--1000apache-2.0timm
resmlp_12_224.fb_distilled_in1k22477.9482241000apache-2.0timm
resmlp_12_224.fb_in1k22476.6602241000apache-2.0timm
resmlp_24_224.fb_dino224--1000apache-2.0timm
resmlp_24_224.fb_distilled_in1k22480.7662241000apache-2.0timm
resmlp_24_224.fb_in1k22479.3802241000apache-2.0timm
resmlp_36_224.fb_distilled_in1k22481.1502241000apache-2.0timm
resmlp_36_224.fb_in1k22479.7722241000apache-2.0timm
resmlp_big_24_224.fb_distilled_in1k22483.5942241000apache-2.0timm
resmlp_big_24_224.fb_in1k22481.0342241000apache-2.0timm
resmlp_big_24_224.fb_in22k_ft_in1k22484.4142241000apache-2.0timm

goog tags

ВесРазмер входных данныхTop-1 (%)Размер выборки для оценкиКлассыЛицензияHub
mixer_b16_224.goog_in21k224--21843apache-2.0timm
mixer_b16_224.goog_in21k_ft_in1k22476.6162241000apache-2.0timm
mixer_l16_224.goog_in21k224--21843apache-2.0timm
mixer_l16_224.goog_in21k_ft_in1k22472.0842241000apache-2.0timm

miil-теги

ВесРазмер входных данныхTop-1 (%)Размер выборки для оценкиКлассыЛицензияHub
mixer_b16_224.miil_in21k224--11221apache-2.0timm
mixer_b16_224.miil_in21k_ft_in1k22482.3142241000apache-2.0timm

теги ra3

ВесРазмер входных данныхTop-1 (%)Размер выборки для оценкиКлассыЛицензияHub
gmixer_24_224.ra3_in1k22478.0482241000apache-2.0timm
gmlp_s16_224.ra3_in1k22479.6522241000apache-2.0timm

Цитирование

@article{tolstikhin2021,
  title={MLP-Mixer: An all-MLP Architecture for Vision},
  author={Tolstikhin, Ilya and Houlsby, Neil and Kolesnikov, Alexander and Beyer, Lucas and Zhai, Xiaohua and Unterthiner,
        Thomas and Yung, Jessica and Keysers, Daniel and Uszkoreit, Jakob and Lucic, Mario and Dosovitskiy, Alexey},
  journal={arXiv preprint arXiv:2105.01601},
  year={2021}
}

@misc{touvron2021resmlp,
      title={ResMLP: Feedforward networks for image classification with data-efficient training},
      author={Hugo Touvron and Piotr Bojanowski and Mathilde Caron and Matthieu Cord and Alaaeldin El-Nouby and
        Edouard Grave and Armand Joulin and Gabriel Synnaeve and Jakob Verbeek and Hervé Jégou},
      year={2021},
      eprint={2105.03404},
}

@misc{liu2021pay,
      title={Pay Attention to MLPs},
      author={Hanxiao Liu and Zihang Dai and David R. So and Quoc V. Le},
      year={2021},
      eprint={2105.08050},
}
Update on GitHub