timm documentation

FocalNet

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

FocalNet

Category: Hybrid · Code: timm/models/focalnet.py · Architectures: 12 · Pretrained weights: 12 (6 with ImageNet-1k results)

Focal Modulation Networks (FocalNet) replace self-attention with focal modulation, which aggregates context at several granularities with depthwise convolutions and gates it into each query token.

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

Model API support

FeatureFocalNet
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 (FocalNet with focalnet_tiny_srf 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
focalnet_base_lrf88.7515.432241
focalnet_base_srf88.1515.282241
focalnet_huge_fl3745.28118.262241
focalnet_huge_fl4686.46118.902241
focalnet_large_fl3239.13105.063841
focalnet_large_fl4239.32105.203841
focalnet_small_lrf50.348.742241
focalnet_small_srf49.898.622241
focalnet_tiny_lrf28.654.492241
focalnet_tiny_srf28.434.422241
focalnet_xlarge_fl3408.79185.613841
focalnet_xlarge_fl4409.03185.793841

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
focalnet_base_lrf.ms_in1k22483.8282241000mittimm
focalnet_base_srf.ms_in1k22483.8082241000mittimm
focalnet_huge_fl3.ms_in22k224--21842mittimm
focalnet_huge_fl4.ms_in22k224--nonemittimm
focalnet_large_fl3.ms_in22k384--21842mittimm
focalnet_large_fl4.ms_in22k384--21842mittimm
focalnet_small_lrf.ms_in1k22483.5082241000mittimm
focalnet_small_srf.ms_in1k22483.4282241000mittimm
focalnet_tiny_lrf.ms_in1k22482.1742241000mittimm
focalnet_tiny_srf.ms_in1k22482.1462241000mittimm
focalnet_xlarge_fl3.ms_in22k384--21842mittimm
focalnet_xlarge_fl4.ms_in22k384--21842mittimm
Update on GitHub