timm documentation

ConViT

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

ConViT

Category: ViT · Code: timm/models/convit.py · Architectures: 3 · Pretrained weights: 3 (3 with ImageNet-1k results)

ConViT replaces the self-attention of the early Vision Transformer blocks with gated positional self-attention (GPSA), which can be initialized to behave like a convolution, as a soft convolutional inductive bias.

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

Model API support

FeatureConVit
features_only=True feature maps✗
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 (ConVit with convit_tiny at 224), other architectures of the same class are expected to behave the same. See the Model API page for details.

Architectures

ArchitectureParams (M)GMACsInput sizePretrained weights
convit_base86.5417.522241
convit_small27.785.762241
convit_tiny5.711.262241

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
convit_base.fb_in1k22482.2962241000apache-2.0timm
convit_small.fb_in1k22481.4122241000apache-2.0timm
convit_tiny.fb_in1k22473.1402241000apache-2.0timm

Citation

@article{d2021convit,
  title={ConViT: Improving Vision Transformers with Soft Convolutional Inductive Biases},
  author={d'Ascoli, St{'e}phane and Touvron, Hugo and Leavitt, Matthew and Morcos, Ari and Biroli, Giulio and Sagun, Levent},
  journal={arXiv preprint arXiv:2103.10697},
  year={2021}
}
Update on GitHub