timm documentation

BYOBNet (GENet, RepVGG, MobileOne, …)

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

BYOBNet (GENet, RepVGG, MobileOne, …)

Category: CNN · Code: timm/models/byobnet.py · Architectures: 53 · Pretrained weights: 57 (41 with ImageNet-1k results)

Bring-Your-Own-Blocks Network, a flexible network built from dataclass configs that stack blocks into stages. It implements GPU-Efficient Networks (gernet_*), RepVGG, MobileOne, RegNetZ, the ResNet image towers of CLIP (*_clip) and a number of ResNet style timm variants.

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

Model API support

FeatureByobNet
features_only=True feature maps✓ (strides 2, 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 (ByobNet with mobileone_s1 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
bat_resnext26ts10.732.532561
eca_resnet33ts19.684.762561
eca_resnext26ts10.302.432561
gcresnet33ts19.884.762561
gcresnet50t25.905.422561
gcresnext26ts10.482.432561
gcresnext50ts15.673.752561
gernet_l31.084.572561
gernet_m21.143.022241
gernet_s8.170.752241
mobileone_s02.080.282241
mobileone_s14.760.832241
mobileone_s27.811.302241
mobileone_s310.081.902241
mobileone_s414.842.982241
regnetz_b169.721.452241
regnetz_b16_evos9.741.432240
regnetz_c1613.462.512561
regnetz_c16_evos13.492.482561
regnetz_d823.373.972561
regnetz_d8_evos23.464.502561
regnetz_d3227.585.982561
regnetz_e857.709.912561
repvgg_a08.311.362241
repvgg_a112.792.362241
repvgg_a225.505.122241
repvgg_b014.343.062241
repvgg_b151.8311.822241
repvgg_b1g436.137.312241
repvgg_b280.3218.382241
repvgg_b2g455.7811.332241
repvgg_b3110.9626.212241
repvgg_b3g475.6316.062241
repvgg_d2se120.3966.993201
resnet32ts17.964.632561
resnet33ts19.684.762561
resnet50_clip38.326.142243
resnet50_clip_gap23.535.392243
resnet50_mlp26.657.052560
resnet50x4_clip87.1421.352881
resnet50x4_clip_gap65.6219.572881
resnet50x16_clip167.3374.903841
resnet50x16_clip_gap136.2070.323841
resnet50x64_clip420.38265.024481
resnet50x64_clip_gap365.03253.964481
resnet51q35.706.382561
resnet61q36.857.802561
resnet101_clip56.269.812242
resnet101_clip_gap42.529.112242
resnext26ts10.302.432561
seresnet33ts19.784.762561
seresnext26ts10.392.432561
test_byobnet0.460.031601

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.

Weights are grouped by source: the paper or origin given in the pretrained config, else a Hub organization other than timm, else the first part of the pretrained tag (architecture.tag). Sources with a single weight are listed under other.

rvgg tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
repvgg_a0.rvgg_in1k22472.4262241000mittimm
repvgg_a1.rvgg_in1k22474.4742241000mittimm
repvgg_a2.rvgg_in1k22476.4882241000mittimm
repvgg_b0.rvgg_in1k22475.1582241000mittimm
repvgg_b1.rvgg_in1k22478.3702241000mittimm
repvgg_b1g4.rvgg_in1k22477.6082241000mittimm
repvgg_b2.rvgg_in1k22478.7882241000mittimm
repvgg_b2g4.rvgg_in1k22479.3962241000mittimm
repvgg_b3.rvgg_in1k22480.5282241000mittimm
repvgg_b3g4.rvgg_in1k22480.2242241000mittimm
repvgg_d2se.rvgg_in1k32083.5503201000mittimm

openai tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
resnet50_clip.openai224--1024mittimm
resnet50_clip_gap.openai224--nonemittimm
resnet50x4_clip.openai288--640mittimm
resnet50x4_clip_gap.openai288--nonemittimm
resnet50x16_clip.openai384--768mittimm
resnet50x16_clip_gap.openai384--nonemittimm
resnet50x64_clip.openai448--1024mittimm
resnet50x64_clip_gap.openai448--nonemittimm
resnet101_clip.openai224--512mittimm
resnet101_clip_gap.openai224--nonemittimm

ra2 tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
eca_resnet33ts.ra2_in1k256 (test 288)80.7162881000apache-2.0timm
gcresnet33ts.ra2_in1k256 (test 288)80.5882881000apache-2.0timm
gcresnet50t.ra2_in1k256 (test 288)81.4582881000apache-2.0timm
resnet32ts.ra2_in1k256 (test 288)79.3882881000apache-2.0timm
resnet33ts.ra2_in1k256 (test 288)79.7102881000apache-2.0timm
resnet51q.ra2_in1k256 (test 288)82.3562881000apache-2.0timm
resnet61q.ra2_in1k256 (test 288)82.5322881000apache-2.0timm
resnext26ts.ra2_in1k256 (test 288)77.1862881000apache-2.0timm
seresnet33ts.ra2_in1k256 (test 288)80.8142881000apache-2.0timm

ch tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
bat_resnext26ts.ch_in1k25678.2802561000apache-2.0timm
eca_resnext26ts.ch_in1k256 (test 288)78.0202881000apache-2.0timm
gcresnext26ts.ch_in1k256 (test 288)78.4362881000apache-2.0timm
gcresnext50ts.ch_in1k256 (test 288)81.2422881000apache-2.0timm
regnetz_c16_evos.ch_in1k256 (test 320)82.6603201000apache-2.0timm
regnetz_d8_evos.ch_in1k256 (test 320)84.1383201000apache-2.0timm
seresnext26ts.ch_in1k256 (test 288)78.2922881000apache-2.0timm

apple tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
mobileone_s0.apple_in1k22471.3982241000mobileone-licensetimm
mobileone_s1.apple_in1k22475.7602241000mobileone-licensetimm
mobileone_s2.apple_in1k22477.5042241000mobileone-licensetimm
mobileone_s3.apple_in1k22478.0022241000mobileone-licensetimm
mobileone_s4.apple_in1k22479.4462241000mobileone-licensetimm

ra3 tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
regnetz_b16.ra3_in1k224 (test 288)80.7402881000apache-2.0timm
regnetz_c16.ra3_in1k256 (test 320)82.6623201000apache-2.0timm
regnetz_d8.ra3_in1k256 (test 320)84.0443201000apache-2.0timm
regnetz_d32.ra3_in1k256 (test 320)84.0283201000apache-2.0timm
regnetz_e8.ra3_in1k256 (test 320)85.0163201000apache-2.0timm

yfcc15m tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
resnet50_clip.yfcc15m224--1024mittimm
resnet50_clip_gap.yfcc15m224--nonemittimm
resnet101_clip.yfcc15m224--512mittimm
resnet101_clip_gap.yfcc15m224--nonemittimm

idstcv tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
gernet_l.idstcv_in1k25681.3542561000apache-2.0timm
gernet_m.idstcv_in1k22480.7022241000apache-2.0timm
gernet_s.idstcv_in1k22476.8742241000apache-2.0timm

cc12m tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
resnet50_clip.cc12m224--1024mittimm
resnet50_clip_gap.cc12m224--nonemittimm

Other

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
test_byobnet.r160_in1k16045.8581601000apache-2.0timm
Update on GitHub