arxiv | Pdf

Os modelos são treinados no ImageNet-1K e implantados no iPhone 12 com o CoremlTools para obter latência.
Repensando os transformadores de visão para o tamanho e velocidade do mobilenet
Yanyu Li 1,2 , Ju Hu 1 , Yang Wen 1 , Georgios evangelidis 1 , Kamyar Salahi 3 ,
Yanzhi Wang 2 , Sergey Tulyakov 1 , Jian Ren 1
1 Snap Inc., 2 Northeastern University, 3 UC Berkeley
efficientformerv2_s0 , efficientformerv2_s1 , efficientformerv2_s2 e efficientformerv2_l . python toolbox.py --model efficientformerv2_l --ckpt weights/eformer_l_450.pth --onnx --coreml
arxiv | Pdf

Os modelos são treinados no ImageNet-1K e medidos pelo iPhone 12 com o CoremlTools para obter latência.
EFIFICIFITYFORMER: Transformadores de visão no MobileNet Speed
Yanyu Li 1,2 , Genge Yuan 1,2 , Yang Wen 1 , Eric Hu 1 , Georgios evangelidis 1 ,
Sergey Tulyakov 1 , Yanzhi Wang 2 , Jian Ren 1
1 Snap Inc., 2 Northeastern University
| Modelo | Top-1 (300/450) | #params | Macs | Latência | ckpt | ONNX | Coreml |
|---|---|---|---|---|---|---|---|
| EFABIFITYFORMERV2-S0 | 75.7 / 76.2 | 3,5m | 0,40b | 0,9ms | S0 | S0 | S0 |
| EFABIFITYFORMERV2-S1 | 79.0 / 79.7 | 6.1m | 0,65b | 1,1ms | S1 | S1 | S1 |
| EFABIFITYFORMERV2-S2 | 81.6 / 82.0 | 12,6m | 1.25b | 1.6ms | S2 | S2 | S2 |
| EFABIFITYFORMIVERV2-L | 83.3 / 83.5 | 26.1m | 2.56b | 2.7ms | L | L | L |
| Modelo | Top-1 acc. | Latência | Ponto de verificação Pytorch | Coreml | ONNX |
|---|---|---|---|---|---|
| EficienteFormer-L1 | 79.2 (80,2) | 1.6ms | L1-300 (L1-1000) | L1 | L1 |
| EficienteFormer-L3 | 82.4 | 3,0ms | L3 | L3 | L3 |
| EficienteFormer-L7 | 83.3 | 7.0ms | L7 | L7 | L7 |
A latência relatada no effcientFormerv2 para iPhone 12 (iOS 16) usa a ferramenta de referência do Xcode 14.
Para effcientFormerv1, usamos o desempenho coreml. Obrigado pela medição de latência de implementação agradável!
Dicas : MacOS+Xcode e um dispositivo móvel (iPhone 12) são necessários para reproduzir a velocidade relatada.
O ambiente virtual conda é recomendado.
conda install pytorch torchvision cudatoolkit=11.3 -c pytorch
pip install timm
pip install submitit
Faça o download e extraia o ImageNet Train e o Val Images de http://image-net.org/. Espera -se que os dados de treinamento e validação estejam na pasta train e val respectivamente::
|-- /path/to/imagenet/
|-- train
|-- val
Fornecemos um exemplo de script de treinamento dist_train.sh usando dados distribuídos de pytorch paralelo (DDP).
Para treinar eficientesformer-l1 em uma máquina de 8-GPU:
sh dist_train.sh efficientformer_l1 8
Dicas: especifique o caminho dos dados e o nome da experiência no script!
Em um cluster gerenciado pela Slurm, o treinamento em vários nós pode ser lançado por meio de submeter, por exemplo,
sh slurm_train.sh efficientformer_l1
Dicas: especifique GPUs/CPUs/memória por nó no script com base no seu recurso!
Fornecemos um exemplo de script de teste dist_test.sh usando dados distribuídos de pytorch paralelo (DDP). Por exemplo, para testar eficientesformer-l1 em uma máquina de 8-GPU:
sh dist_test.sh efficientformer_l1 8 weights/efficientformer_l1_300d.pth
Detecção de objetos e segmentação de instância
Segmentação semântica
A base de código de classificação (ImageNet) é parcialmente construída com o Levit e o Poolformer.
O pipeline de detecção e segmentação é do MMCV (mmDetection e Mmsegmentation).
Obrigado pelas ótimas implementações!
Se nosso código ou modelos ajudarem o seu trabalho, cite eficiente eficiente (Neurips 2022) e eficáciaFormerV2 (ICCV 2023):
@article { li2022efficientformer ,
title = { Efficientformer: Vision transformers at mobilenet speed } ,
author = { Li, Yanyu and Yuan, Geng and Wen, Yang and Hu, Ju and Evangelidis, Georgios and Tulyakov, Sergey and Wang, Yanzhi and Ren, Jian } ,
journal = { Advances in Neural Information Processing Systems } ,
volume = { 35 } ,
pages = { 12934--12949 } ,
year = { 2022 }
} @inproceedings { li2022rethinking ,
title = { Rethinking Vision Transformers for MobileNet Size and Speed } ,
author = { Li, Yanyu and Hu, Ju and Wen, Yang and Evangelidis, Georgios and Salahi, Kamyar and Wang, Yanzhi and Tulyakov, Sergey and Ren, Jian } ,
booktitle = { Proceedings of the IEEE international conference on computer vision } ,
year = { 2023 }
}