timm documentation

MetaFormer (PoolFormer, ConvFormer, CAFormer)

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

MetaFormer (PoolFormer, ConvFormer, CAFormer)

Categoria: Híbrido · Código: timm/models/metaformer.py · Arquiteturas: 18 · Pesos pré-treinados: 50 (42 com resultados no ImageNet-1k)

Os modelos MetaFormer compartilham uma estrutura geral de bloco transformer e variam o misturador de tokens: pooling no PoolFormer / PoolFormerV2, convoluções separáveis no ConvFormer e convoluções nos estágios iniciais com atenção nos estágios posteriores no CAFormer.

Artigos

Uso

Veja o Início rápido para carregar pesos pré-treinados, pré-processar imagens e fazer fine-tuning, e Extração de recursos para usar os modelos como backbones.

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

Suporte à API de modelos

RecursoMetaFormer
mapas de recursos de features_only=True✓ (passos 4, 8, 16, 32)
forward_intermediates()✓
prune_intermediate_layers()✓
Qualquer tamanho de entrada, sem necessidade de alterações✓
set_input_size()–
dynamic_img_size=True–
set_grad_checkpointing()✓
Decaimento de LR por camada (group_matcher())✗
reset_classifier()✓

✓ suportado, ✓ (quadrado) funciona apenas para tamanhos quadrados, ✗ não suportado, – não necessário (o modelo já aceita qualquer tamanho de entrada). Verificado executando cada recurso em um modelo inicializado aleatoriamente (MetaFormer com poolformerv2_s12 em 224), espera-se que outras arquiteturas da mesma classe se comportem da mesma forma. Consulte a página Model API para mais detalhes.

Arquiteturas

ArquiteturaParâmetros (M)GMACsTamanho da entradaPesos pré-treinados
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

Os GMACs e as contagens de parâmetros são para o tamanho de entrada e o classificador padrão de cada arquitetura, dos resultados do benchmark.

Pesos pré-treinados

Top-1 é a acurácia de validação no ImageNet-1k de results-imagenet.csv no tamanho de avaliação listado, - se o peso não tiver resultado no ImageNet-1k (por exemplo, pesos de pré-treinamento ou de imagem-texto). Classes é o tamanho do classificador pré-treinado, nenhum para pesos sem um.

PesoTamanho da entradaTop-1 (%)Tamanho da avaliaçãoClassesLicençaHub
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