timm documentation

iFormer

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

iFormer

Category: Efficient/Mobile · Code: timm/models/iformer.py · Architectures: 9 · Pretrained weights: 8 (0 with ImageNet-1k results)

iFormer integrates a fast convolutional network with single-head modulation attention (SHMA) in the later stages, for mobile applications.

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

Model API support

FeatureIFormer
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 (IFormer with iformer_t 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
iformer_h99.60-2241
iformer_l14.78-2241
iformer_l224.52-2240
iformer_l2_distilled25.03-2241
iformer_l_distilled15.17-2241
iformer_m8.91-2241
iformer_m_distilled9.29-2241
iformer_s6.56-2241
iformer_t2.89-2241

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
iformer_h.in1k224--1000mittimm
iformer_l.in1k224--1000mittimm
iformer_l2_distilled.in1k224--1000mittimm
iformer_l_distilled.in1k224--1000mittimm
iformer_m.in1k224--1000mittimm
iformer_m_distilled.in1k224--1000mittimm
iformer_s.in1k224--1000mittimm
iformer_t.in1k224--1000mittimm

Citation

@inproceedings{zheng2025iformer,
  title={iformer: Integrating convnet and transformer for mobile application},
  author={Zheng, Chuanyang},
  booktitle={International Conference on Learning Representations},
  volume={2025},
  pages={22947--22961},
  year={2025}
}
Update on GitHub