timm documentation

PVTv2

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

PVTv2

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

Pyramid Vision Transformer v2, a hierarchical transformer with spatial-reduction attention (linear in the _li variant), overlapping patch embeddings and convolutional feed-forward layers.

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

Model API support

FeaturePyramidVisionTransformerV2
features_only=True feature maps✓ (strides 4, 8, 16, 32)
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 (PyramidVisionTransformerV2 with pvt_v2_b0 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
pvt_v2_b03.670.572241
pvt_v2_b114.012.122241
pvt_v2_b225.364.052241
pvt_v2_b2_li22.553.912241
pvt_v2_b345.246.922241
pvt_v2_b462.5610.142241
pvt_v2_b581.9611.762241

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
pvt_v2_b0.in1k22470.6542241000apache-2.0timm
pvt_v2_b1.in1k22478.6982241000apache-2.0timm
pvt_v2_b2.in1k22482.0622241000apache-2.0timm
pvt_v2_b2_li.in1k22482.2002241000apache-2.0timm
pvt_v2_b3.in1k22483.1202241000apache-2.0timm
pvt_v2_b4.in1k22483.7102241000apache-2.0timm
pvt_v2_b5.in1k22483.7602241000apache-2.0timm

Citation

@misc{wang2021pvtv2,
      title={PVTv2: Improved Baselines with Pyramid Vision Transformer},
      author={Wenhai Wang and Enze Xie and Xiang Li and Deng-Ping Fan and Kaitao Song and Ding Liang and
        Tong Lu and Ping Luo and Ling Shao},
      year={2021},
      eprint={2106.13797},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
Update on GitHub