timm documentation

MLP-Mixer, ResMLP e gMLP

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

MLP-Mixer, ResMLP e gMLP

Categoria: MLP · Código: timm/models/mlp_mixer.py · Arquiteturas: 15 · Pesos pré-treinados: 19 (14 com resultados no ImageNet-1k)

Arquiteturas All-MLP que alternam a mistura de tokens entre patches com a mistura de canais: MLP-Mixer, ResMLP e gMLP (gating com uma projeção espacial). O docstring do módulo observa que a implementação do gMLP não é verificada.

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('gmixer_24_224.ra3_in1k', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)

Suporte à API de modelos

RecursoMlpMixer
mapas de recursos de features_only=True✓ (passos 16, 16, 16)
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 (MlpMixer com gmlp_ti16_224 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
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

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.

Os pesos são agrupados por origem: o artigo ou origem indicado na configuração pré-treinada, caso contrário, uma organização do Hub diferente de timm, caso contrário, a primeira parte da tag pré-treinada (architecture.tag). As origens com um único peso são listadas em other.

tags do fb

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

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

tags miil

PesoTamanho da entradaTop-1 (%)Tamanho da avaliaçãoClassesLicençaHub
mixer_b16_224.miil_in21k224--11221apache-2.0timm
mixer_b16_224.miil_in21k_ft_in1k22482.3142241000apache-2.0timm

ra3 tags

PesoTamanho da entradaTop-1 (%)Tamanho da avaliaçãoClassesLicençaHub
gmixer_24_224.ra3_in1k22478.0482241000apache-2.0timm
gmlp_s16_224.ra3_in1k22479.6522241000apache-2.0timm

Citação

@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