timm documentation

LeViT

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

LeViT

Category: Hybrid · Code: timm/models/levit.py · Architectures: 20 · Pretrained weights: 10 (10 with ImageNet-1k results)

LeViT is a hybrid network for fast inference, a convolutional stem followed by attention stages that shrink the resolution with attention based downsampling and use attention biases for position.

Papers

Usage

See the Quickstart for loading pretrained weights, image preprocessing and fine-tuning, and Feature Extraction for using the models as backbones.

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

Model API support

FeatureLevitLevitDistilled
features_only=True feature maps✓ (strides 16, 32, 64)✓ (strides 16, 32, 64)
forward_intermediates()✓✓
prune_intermediate_layers()✓✓
Any input size, no changes needed✗✗
set_input_size()✗✗
dynamic_img_size=True✗✗
set_grad_checkpointing()✓✓
Layer-wise LR decay (group_matcher())✓✓
reset_classifier()✓✓

✓ supported, ✓ (square) works for square sizes only, ✗ not supported, – not needed (the model already accepts any input size). Checked by running each feature on a randomly initialized model (Levit with levit_256d at 224, LevitDistilled with levit_128s at 224), other architectures of the same class are expected to behave the same. See the Model API page for details.

Architectures

ArchitectureClassParams (M)GMACsInput sizePretrained weights
levit_128LevitDistilled9.190.412241
levit_128sLevitDistilled7.760.302241
levit_192LevitDistilled10.920.662241
levit_256LevitDistilled18.861.132241
levit_256dLevit26.161.392240
levit_384LevitDistilled39.072.352241
levit_384_s8LevitDistilled39.069.952240
levit_512Levit95.085.622240
levit_512_s8Levit73.9721.772240
levit_512dLevit92.395.842240
levit_conv_128LevitDistilled9.190.412241
levit_conv_128sLevitDistilled7.760.302241
levit_conv_192LevitDistilled10.920.662241
levit_conv_256LevitDistilled18.861.132241
levit_conv_256dLevit26.161.392240
levit_conv_384LevitDistilled39.072.352241
levit_conv_384_s8LevitDistilled39.069.952240
levit_conv_512Levit95.085.622240
levit_conv_512_s8Levit73.9721.772240
levit_conv_512dLevit92.395.842240

GMACs and parameter counts are for the default input size and classifier of each architecture, from the benchmark results.

Pretrained weights

Top-1 is ImageNet-1k validation accuracy from results-imagenet.csv at the listed eval size, - if the weight has no ImageNet-1k result (e.g. pretraining or image-text weights). Classes is the size of the pretrained classifier, none for weights without one.

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
levit_128.fb_dist_in1k22478.4862241000apache-2.0timm
levit_128s.fb_dist_in1k22476.5202241000apache-2.0timm
levit_192.fb_dist_in1k22479.8582241000apache-2.0timm
levit_256.fb_dist_in1k22481.5062241000apache-2.0timm
levit_384.fb_dist_in1k22482.6002241000apache-2.0timm
levit_conv_128.fb_dist_in1k22478.4882241000apache-2.0timm
levit_conv_128s.fb_dist_in1k22476.5342241000apache-2.0timm
levit_conv_192.fb_dist_in1k22479.8602241000apache-2.0timm
levit_conv_256.fb_dist_in1k22481.5062241000apache-2.0timm
levit_conv_384.fb_dist_in1k22482.6002241000apache-2.0timm

Citation

@article{graham2021levit,
  title={LeViT: a Vision Transformer in ConvNet's Clothing for Faster Inference},
  author={Benjamin Graham and Alaaeldin El-Nouby and Hugo Touvron and Pierre Stock and Armand Joulin and Herv'e J'egou and Matthijs Douze},
  journal={arXiv preprint arXiv:2104.01136},
  year={2021}
}
Update on GitHub