timm documentation

MetaFormer (PoolFormer, ConvFormer, CAFormer)

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

and get access to the augmented documentation experience

to get started

MetaFormer (PoolFormer, ConvFormer, CAFormer)

Категория: Гибридная · Код: timm/models/metaformer.py · Архитектуры: 18 · Предобученные веса: 50 (42 с результатами ImageNet-1k)

Модели MetaFormer имеют общую структуру блока трансформера и различаются по типу миксера токенов: пулинг в PoolFormer / PoolFormerV2, сепарабельные свёртки в ConvFormer, а также свёртки на ранних этапах и внимание на поздних этапах в CAFormer.

Статьи

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

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

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

Поддержка Model API

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

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

Архитектуры

АрхитектураПараметры (млн)GMACsРазмер входных данныхПредобученные веса
caformer_b3698.7523.222245
caformer_m3656.2013.292245
caformer_s1826.344.132245
caformer_s3639.308.002245
convformer_b3699.8822.692245
convformer_m3657.0512.892245
convformer_s1826.773.962245
convformer_s3640.017.672245
poolformer_m3656.178.802241
poolformer_m4873.4711.592241
poolformer_s1211.921.822241
poolformer_s2421.393.412241
poolformer_s3630.865.002241
poolformerv2_m3656.088.812241
poolformerv2_m4873.3511.592241
poolformerv2_s1211.891.832241
poolformerv2_s2421.343.422241
poolformerv2_s3630.795.012241

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

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

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

ВесРазмер входных данныхTop-1 (%)Размер выборки для оценкиКлассыЛицензияHub
caformer_b36.sail_in1k22485.5022241000apache-2.0timm
caformer_b36.sail_in1k_38438486.4003841000apache-2.0timm
caformer_b36.sail_in22k224--21841apache-2.0timm
caformer_b36.sail_in22k_ft_in1k22487.4502241000apache-2.0timm
caformer_b36.sail_in22k_ft_in1k_38438488.0583841000apache-2.0timm
caformer_m36.sail_in1k22485.2422241000apache-2.0timm
caformer_m36.sail_in1k_38438486.1643841000apache-2.0timm
caformer_m36.sail_in22k224--21841apache-2.0timm
caformer_m36.sail_in22k_ft_in1k22486.6062241000apache-2.0timm
caformer_m36.sail_in22k_ft_in1k_38438487.4703841000apache-2.0timm
caformer_s18.sail_in1k22483.6642241000apache-2.0timm
caformer_s18.sail_in1k_38438485.0363841000apache-2.0timm
caformer_s18.sail_in22k224--21841apache-2.0timm
caformer_s18.sail_in22k_ft_in1k22484.0922241000apache-2.0timm
caformer_s18.sail_in22k_ft_in1k_38438485.4423841000apache-2.0timm
caformer_s36.sail_in1k22484.5282241000apache-2.0timm
caformer_s36.sail_in1k_38438485.7623841000apache-2.0timm
caformer_s36.sail_in22k224--21841apache-2.0timm
caformer_s36.sail_in22k_ft_in1k22485.7802241000apache-2.0timm
caformer_s36.sail_in22k_ft_in1k_38438486.8603841000apache-2.0timm
convformer_b36.sail_in1k22484.8262241000apache-2.0timm
convformer_b36.sail_in1k_38438485.7703841000apache-2.0timm
convformer_b36.sail_in22k224--21841apache-2.0timm
convformer_b36.sail_in22k_ft_in1k22486.9922241000apache-2.0timm
convformer_b36.sail_in22k_ft_in1k_38438487.6063841000apache-2.0timm
convformer_m36.sail_in1k22484.4862241000apache-2.0timm
convformer_m36.sail_in1k_38438485.5803841000apache-2.0timm
convformer_m36.sail_in22k224--21841apache-2.0timm
convformer_m36.sail_in22k_ft_in1k22486.1522241000apache-2.0timm
convformer_m36.sail_in22k_ft_in1k_38438486.8683841000apache-2.0timm
convformer_s18.sail_in1k22482.9682241000apache-2.0timm
convformer_s18.sail_in1k_38438484.3923841000apache-2.0timm
convformer_s18.sail_in22k224--21841apache-2.0timm
convformer_s18.sail_in22k_ft_in1k22483.7682241000apache-2.0timm
convformer_s18.sail_in22k_ft_in1k_38438485.0043841000apache-2.0timm
convformer_s36.sail_in1k22484.0682241000apache-2.0timm
convformer_s36.sail_in1k_38438485.3803841000apache-2.0timm
convformer_s36.sail_in22k224--21841apache-2.0timm
convformer_s36.sail_in22k_ft_in1k22485.4202241000apache-2.0timm
convformer_s36.sail_in22k_ft_in1k_38438486.3743841000apache-2.0timm
poolformer_m36.sail_in1k22482.1042241000apache-2.0timm
poolformer_m48.sail_in1k22482.4622241000apache-2.0timm
poolformer_s12.sail_in1k22477.2382241000apache-2.0timm
poolformer_s24.sail_in1k22480.2942241000apache-2.0timm
poolformer_s36.sail_in1k22481.4282241000apache-2.0timm
poolformerv2_m36.sail_in1k22482.2142241000apache-2.0timm
poolformerv2_m48.sail_in1k22482.6122241000apache-2.0timm
poolformerv2_s12.sail_in1k22478.0082241000apache-2.0timm
poolformerv2_s24.sail_in1k22480.7462241000apache-2.0timm
poolformerv2_s36.sail_in1k22481.5762241000apache-2.0timm
Update on GitHub