timm documentation
PVTv2
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
| Feature | PyramidVisionTransformerV2 |
|---|---|
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
| Architecture | Params (M) | GMACs | Input size | Pretrained weights |
|---|---|---|---|---|
pvt_v2_b0 | 3.67 | 0.57 | 224 | 1 |
pvt_v2_b1 | 14.01 | 2.12 | 224 | 1 |
pvt_v2_b2 | 25.36 | 4.05 | 224 | 1 |
pvt_v2_b2_li | 22.55 | 3.91 | 224 | 1 |
pvt_v2_b3 | 45.24 | 6.92 | 224 | 1 |
pvt_v2_b4 | 62.56 | 10.14 | 224 | 1 |
pvt_v2_b5 | 81.96 | 11.76 | 224 | 1 |
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.
| Weight | Input size | Top-1 (%) | Eval size | Classes | License | Hub |
|---|---|---|---|---|---|---|
pvt_v2_b0.in1k | 224 | 70.654 | 224 | 1000 | apache-2.0 | timm |
pvt_v2_b1.in1k | 224 | 78.698 | 224 | 1000 | apache-2.0 | timm |
pvt_v2_b2.in1k | 224 | 82.062 | 224 | 1000 | apache-2.0 | timm |
pvt_v2_b2_li.in1k | 224 | 82.200 | 224 | 1000 | apache-2.0 | timm |
pvt_v2_b3.in1k | 224 | 83.120 | 224 | 1000 | apache-2.0 | timm |
pvt_v2_b4.in1k | 224 | 83.710 | 224 | 1000 | apache-2.0 | timm |
pvt_v2_b5.in1k | 224 | 83.760 | 224 | 1000 | apache-2.0 | timm |
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}
}