timm documentation

ViTamin

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ViTamin

Category: Hybrid · Code: timm/models/vitamin.py · Architectures: 13 · Pretrained weights: 15 (0 with ImageNet-1k results)

ViTamin is a vision model designed for vision-language models, with convolutional (MBConv) stages followed by transformer stages. The weights are CLIP image towers.

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

Model API support

FeatureVisionTransformer
features_only=True feature maps✓ (strides 16, 16, 16)
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 (VisionTransformer with vitamin_small_224 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
vitamin_base_22487.7222.682242
vitamin_large2_224333.5875.052241
vitamin_large2_256333.6499.002561
vitamin_large2_336333.83175.723361
vitamin_large2_384333.97234.443841
vitamin_large_224333.3275.052241
vitamin_large_256333.3899.002561
vitamin_large_336333.57175.723361
vitamin_large_384333.71234.443841
vitamin_small_22422.175.922242
vitamin_xlarge_256436.06130.132561
vitamin_xlarge_336436.06230.183361
vitamin_xlarge_384436.06306.383841

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
vitamin_base_224.datacomp1b_clip224--768mitjienengchen/ViTamin-B
vitamin_base_224.datacomp1b_clip_ltt224--768mitjienengchen/ViTamin-B-LTT
vitamin_large2_224.datacomp1b_clip224--1024mitjienengchen/ViTamin-L2-224px
vitamin_large2_256.datacomp1b_clip256--1024mitjienengchen/ViTamin-L2-256px
vitamin_large2_336.datacomp1b_clip336--1024mitjienengchen/ViTamin-L2-336px
vitamin_large2_384.datacomp1b_clip384--1024mitjienengchen/ViTamin-L2-384px
vitamin_large_224.datacomp1b_clip224--768mitjienengchen/ViTamin-L-224px
vitamin_large_256.datacomp1b_clip256--768mitjienengchen/ViTamin-L-256px
vitamin_large_336.datacomp1b_clip336--768mitjienengchen/ViTamin-L-336px
vitamin_large_384.datacomp1b_clip384--768mitjienengchen/ViTamin-L-384px
vitamin_small_224.datacomp1b_clip224--384mitjienengchen/ViTamin-S
vitamin_small_224.datacomp1b_clip_ltt224--768mitjienengchen/ViTamin-S-LTT
vitamin_xlarge_256.datacomp1b_clip256--1152mitjienengchen/ViTamin-XL-256px
vitamin_xlarge_336.datacomp1b_clip336--1152mitjienengchen/ViTamin-XL-336px
vitamin_xlarge_384.datacomp1b_clip384--1152mitjienengchen/ViTamin-XL-384px

Citation

@inproceedings{chen2024vitamin,
  title={ViTamin: Designing Scalable Vision Models in the Vision-language Era},
  author={Chen, Jieneng and Yu, Qihang and Shen, Xiaohui and Yuille, Alan and Chen, Liang-Chieh},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2024}
}
Update on GitHub