timm documentation

ResNet

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

ResNet

Category: CNN · Code: timm/models/resnet.py · Architectures: 81 · Pretrained weights: 149 (144 with ImageNet-1k results)

Residual networks (ResNet) and the variants built on the same ResNet class: ResNeXt grouped convolutions, Squeeze-and-Excitation (SE) and ECA channel attention, deep / tiered stems and average pool downsampling (the “c”, “d”, “s” and “t” variants), anti-aliased downsampling, Wide ResNet and ResNet-RS configurations.

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

Model API support

FeatureResNet
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 (ResNet with resnet10t at 176), 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
ecaresnet26t16.013.352561
ecaresnet50d25.584.352241
ecaresnet50d_pruned19.942.532241
ecaresnet50t25.575.642564
ecaresnet101d44.578.082241
ecaresnet101d_pruned24.883.482241
ecaresnet200d64.6920.002560
ecaresnet269d102.0941.533201
ecaresnetlight30.164.112241
ecaresnext26t_32x4d15.412.702240
ecaresnext50t_32x4d25.05-2240
resnet10t5.440.701761
resnet14t10.081.071761
resnet1811.691.822247
resnet18d11.712.062242
resnet2616.002.362241
resnet26d16.012.602241
resnet26t16.013.352561
resnet3421.803.672247
resnet34d21.823.912241
resnet5025.564.1122418
resnet50_gn25.564.142241
resnet50c25.584.352241
resnet50d25.584.352246
resnet50s25.685.472241
resnet50t25.574.322240
resnet10144.557.832247
resnet101c44.578.082241
resnet101d44.5710.552562
resnet101s44.679.192241
resnet15260.1911.562247
resnet152c60.2111.802241
resnet152d60.2115.412562
resnet152s60.3212.922241
resnet20064.6715.072240
resnet200d64.6920.002561
resnetaa34d21.824.432240
resnetaa5025.565.152241
resnetaa50d25.585.392243
resnetaa101d44.579.122242
resnetblur1811.692.342240
resnetblur5025.565.162241
resnetblur50d25.585.402240
resnetblur101d44.579.122240
resnetrs5035.692.291601
resnetrs10163.626.041921
resnetrs15286.6215.592561
resnetrs20093.2120.182561
resnetrs270129.8627.062561
resnetrs350163.9643.672881
resnetrs420191.8964.203201
resnext50_32x4d25.034.2622410
resnext50d_32x4d25.054.502241
resnext101_32x4d44.188.012243
resnext101_32x8d88.7916.482245
resnext101_32x16d194.0336.272243
resnext101_32x32d468.5387.292241
resnext101_64x4d83.4615.522243
senet154115.0920.772241
seresnet1811.781.822240
seresnet3421.963.672240
seresnet5028.094.112244
seresnet50t28.104.322240
seresnet10149.337.842240
seresnet15266.8211.572240
seresnet152d66.8415.422561
seresnet200d71.8620.012560
seresnet269d113.6726.592560
seresnetaa50d28.115.402240
seresnext26d_32x4d16.812.732241
seresnext26t_32x4d16.812.702241
seresnext50_32x4d27.564.262242
seresnext101_32x4d48.968.022241
seresnext101_32x8d93.5716.482241
seresnext101_64x4d88.2315.532241
seresnext101d_32x8d93.5916.722241
seresnextaa101d_32x8d93.5928.512884
seresnextaa201d_32x8d149.39101.113842
test_resnet0.470.101601
wide_resnet50_268.8811.432243
wide_resnet101_2126.8922.802242

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.

ResNet strikes back

Pretrained configs reference ResNet strikes back: An improved training procedure in timm.

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
ecaresnet50t.a1_in1k224 (test 288)82.1102881000apache-2.0timm
ecaresnet50t.a2_in1k224 (test 288)81.6822881000apache-2.0timm
ecaresnet50t.a3_in1k160 (test 224)79.5482241000apache-2.0timm
resnet18.a1_in1k224 (test 288)73.1642881000apache-2.0timm
resnet18.a2_in1k224 (test 288)72.3642881000apache-2.0timm
resnet18.a3_in1k160 (test 224)68.2502241000apache-2.0timm
resnet18d.ra4_e3600_r224_in1k224 (test 288)76.0122881000apache-2.0timm
resnet34.a1_in1k224 (test 288)77.9302881000apache-2.0timm
resnet34.a2_in1k224 (test 288)77.1502881000apache-2.0timm
resnet34.a3_in1k160 (test 224)72.9962241000apache-2.0timm
resnet34.ra4_e3600_r224_in1k224 (test 288)78.9722881000apache-2.0timm
resnet50.a1_in1k224 (test 288)81.2402881000apache-2.0timm
resnet50.a1h_in1k176 (test 224)80.6542241000apache-2.0timm
resnet50.a2_in1k224 (test 288)80.7742881000apache-2.0timm
resnet50.a3_in1k160 (test 224)78.0522241000apache-2.0timm
resnet50.b1k_in1k224 (test 288)80.7082881000apache-2.0timm
resnet50.b2k_in1k224 (test 288)80.4662881000apache-2.0timm
resnet50.c1_in1k224 (test 288)80.9282881000apache-2.0timm
resnet50.c2_in1k224 (test 288)80.8622881000apache-2.0timm
resnet50.d_in1k224 (test 288)81.0122881000apache-2.0timm
resnet50d.a1_in1k224 (test 288)81.4662881000apache-2.0timm
resnet50d.a2_in1k224 (test 288)81.1642881000apache-2.0timm
resnet50d.a3_in1k160 (test 224)78.7422241000apache-2.0timm
resnet50d.ra4_e3600_r224_in1k224 (test 288)81.8402881000apache-2.0timm
resnet101.a1_in1k224 (test 288)82.3262881000apache-2.0timm
resnet101.a1h_in1k224 (test 288)82.7962881000apache-2.0timm
resnet101.a2_in1k224 (test 288)82.2182881000apache-2.0timm
resnet101.a3_in1k160 (test 224)79.8362241000apache-2.0timm
resnet152.a1_in1k224 (test 288)82.7422881000apache-2.0timm
resnet152.a1h_in1k224 (test 288)83.4942881000apache-2.0timm
resnet152.a2_in1k224 (test 288)82.6142881000apache-2.0timm
resnet152.a3_in1k160 (test 224)80.5482241000apache-2.0timm
resnetaa50.a1h_in1k224 (test 288)81.6182881000apache-2.0timm
resnext50_32x4d.a1_in1k224 (test 288)81.4802881000apache-2.0timm
resnext50_32x4d.a1h_in1k224 (test 288)82.0162881000apache-2.0timm
resnext50_32x4d.a2_in1k224 (test 288)81.3042881000apache-2.0timm
resnext50_32x4d.a3_in1k160 (test 224)79.2582241000apache-2.0timm
resnext101_64x4d.c1_in1k224 (test 288)83.1582881000apache-2.0timm
seresnet50.a1_in1k224 (test 288)81.1142881000apache-2.0timm
seresnet50.a2_in1k224 (test 288)81.0942881000apache-2.0timm
seresnet50.a3_in1k160 (test 224)77.0362241000apache-2.0timm
seresnext101_32x8d.ah_in1k224 (test 288)84.1922881000apache-2.0timm
seresnext101d_32x8d.ah_in1k224 (test 288)84.3802881000apache-2.0timm
seresnextaa101d_32x8d.ah_in1k224 (test 288)84.5802881000apache-2.0timm

huggingface/pytorch-image-models

Origin: github.com/huggingface/pytorch-image-models

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
ecaresnet26t.ra2_in1k256 (test 320)79.9003201000apache-2.0timm
ecaresnet269d.ra2_in1k320 (test 352)84.9683521000apache-2.0timm
resnet10t.c3_in1k176 (test 224)68.3542241000apache-2.0timm
resnet14t.c3_in1k176 (test 224)72.2422241000apache-2.0timm
resnet18d.ra2_in1k224 (test 288)73.7902881000apache-2.0timm
resnet26.bt_in1k224 (test 288)76.3842881000apache-2.0timm
resnet26d.bt_in1k224 (test 288)77.4222881000apache-2.0timm
resnet26t.ra2_in1k256 (test 320)78.3303201000apache-2.0timm
resnet34.bt_in1k224 (test 288)76.5062881000apache-2.0timm
resnet34d.ra2_in1k224 (test 288)78.4402881000apache-2.0timm
resnet50.bt_in1k224 (test 288)79.6522881000apache-2.0timm
resnet50.ra_in1k224 (test 288)79.8642881000apache-2.0timm
resnet50.ram_in1k224 (test 288)79.9822881000apache-2.0timm
resnet50_gn.a1h_in1k224 (test 288)81.2162881000apache-2.0timm
resnet50d.ra2_in1k224 (test 288)81.3542881000apache-2.0timm
resnet101d.ra2_in1k256 (test 320)83.0203201000apache-2.0timm
resnet152d.ra2_in1k256 (test 320)83.6843201000apache-2.0timm
resnet200d.ra2_in1k256 (test 320)83.9763201000apache-2.0timm
resnetaa50d.d_in12k224 (test 288)--11821apache-2.0timm
resnetaa50d.sw_in12k224 (test 288)--11821apache-2.0timm
resnetaa50d.sw_in12k_ft_in1k224 (test 288)82.6562881000apache-2.0timm
resnetaa101d.sw_in12k224 (test 288)--11821apache-2.0timm
resnetaa101d.sw_in12k_ft_in1k224 (test 288)84.1142881000apache-2.0timm
resnetblur50.bt_in1k224 (test 288)80.2482881000apache-2.0timm
resnext50_32x4d.ra_in1k224 (test 288)80.7202881000apache-2.0timm
resnext50d_32x4d.bt_in1k224 (test 288)80.6762881000apache-2.0timm
seresnet50.ra2_in1k224 (test 288)81.2882881000apache-2.0timm
seresnet152d.ra2_in1k256 (test 320)84.3443201000apache-2.0timm
seresnext26d_32x4d.bt_in1k224 (test 288)78.8162881000apache-2.0timm
seresnext26t_32x4d.bt_in1k224 (test 288)78.7362881000apache-2.0timm
seresnext50_32x4d.racm_in1k224 (test 288)82.1862881000apache-2.0timm
seresnextaa101d_32x8d.sw_in12k224 (test 288)--11821apache-2.0timm
seresnextaa101d_32x8d.sw_in12k_ft_in1k224 (test 288)86.5242881000apache-2.0timm
seresnextaa101d_32x8d.sw_in12k_ft_in1k_288288 (test 320)86.7223201000apache-2.0timm
wide_resnet50_2.racm_in1k224 (test 288)82.2602881000apache-2.0timm

cv.gluon.ai

Origin: cv.gluon.ai/model_zoo/classification.html

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
resnet18.gluon_in1k22470.8442241000apache-2.0timm
resnet34.gluon_in1k22474.5742241000apache-2.0timm
resnet50.gluon_in1k22477.5802241000apache-2.0timm
resnet50c.gluon_in1k22478.0162241000apache-2.0timm
resnet50d.gluon_in1k22479.0802241000apache-2.0timm
resnet50s.gluon_in1k22478.7102241000apache-2.0timm
resnet101.gluon_in1k22479.3062241000apache-2.0timm
resnet101c.gluon_in1k22479.5422241000apache-2.0timm
resnet101d.gluon_in1k22480.4662241000apache-2.0timm
resnet101s.gluon_in1k22480.2782241000apache-2.0timm
resnet152.gluon_in1k22479.7122241000apache-2.0timm
resnet152c.gluon_in1k22479.9042241000apache-2.0timm
resnet152d.gluon_in1k22480.4762241000apache-2.0timm
resnet152s.gluon_in1k22481.0482241000apache-2.0timm
resnext50_32x4d.gluon_in1k22479.3542241000apache-2.0timm
resnext101_32x4d.gluon_in1k22480.3362241000apache-2.0timm
resnext101_64x4d.gluon_in1k22480.6402241000apache-2.0timm
senet154.gluon_in1k22481.2582241000apache-2.0timm
seresnext50_32x4d.gluon_in1k22479.9162241000apache-2.0timm
seresnext101_32x4d.gluon_in1k22480.8862241000apache-2.0timm
seresnext101_64x4d.gluon_in1k22480.8842241000apache-2.0timm

pytorch/vision

Origin: github.com/pytorch/vision

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
resnet18.tv_in1k22469.7522241000bsd-3-clausetimm
resnet34.tv_in1k22473.2982241000bsd-3-clausetimm
resnet50.tv2_in1k176 (test 224)80.8462241000bsd-3-clausetimm
resnet50.tv_in1k22476.1562241000bsd-3-clausetimm
resnet101.tv2_in1k176 (test 224)81.9062241000bsd-3-clausetimm
resnet101.tv_in1k22477.4042241000bsd-3-clausetimm
resnet152.tv2_in1k176 (test 224)82.2942241000bsd-3-clausetimm
resnet152.tv_in1k22478.3302241000bsd-3-clausetimm
resnext50_32x4d.tv2_in1k176 (test 224)81.1902241000bsd-3-clausetimm
resnext50_32x4d.tv_in1k22477.6322241000bsd-3-clausetimm
resnext101_32x8d.tv2_in1k176 (test 224)82.8322241000bsd-3-clausetimm
resnext101_32x8d.tv_in1k22479.3082241000bsd-3-clausetimm
resnext101_64x4d.tv_in1k22482.9782241000bsd-3-clausetimm
wide_resnet50_2.tv2_in1k176 (test 224)81.6122241000bsd-3-clausetimm
wide_resnet50_2.tv_in1k22478.4862241000bsd-3-clausetimm
wide_resnet101_2.tv2_in1k176 (test 224)82.5142241000bsd-3-clausetimm
wide_resnet101_2.tv_in1k22478.8622241000bsd-3-clausetimm

facebookresearch/semi-supervised-ImageNet1K-models

Origin: github.com/facebookresearch/semi-supervised-ImageNet1K-models

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
resnet18.fb_ssl_yfcc100m_ft_in1k22472.6362241000cc-by-nc-4.0timm
resnet18.fb_swsl_ig1b_ft_in1k22473.2862241000cc-by-nc-4.0timm
resnet50.fb_ssl_yfcc100m_ft_in1k22479.2522241000cc-by-nc-4.0timm
resnet50.fb_swsl_ig1b_ft_in1k22481.1462241000cc-by-nc-4.0timm
resnext50_32x4d.fb_ssl_yfcc100m_ft_in1k22480.3162241000cc-by-nc-4.0timm
resnext50_32x4d.fb_swsl_ig1b_ft_in1k22482.1622241000cc-by-nc-4.0timm
resnext101_32x4d.fb_ssl_yfcc100m_ft_in1k22480.9362241000cc-by-nc-4.0timm
resnext101_32x4d.fb_swsl_ig1b_ft_in1k22483.2682241000cc-by-nc-4.0timm
resnext101_32x8d.fb_ssl_yfcc100m_ft_in1k22481.6202241000cc-by-nc-4.0timm
resnext101_32x8d.fb_swsl_ig1b_ft_in1k22484.2762241000cc-by-nc-4.0timm
resnext101_32x16d.fb_ssl_yfcc100m_ft_in1k22481.8562241000cc-by-nc-4.0timm
resnext101_32x16d.fb_swsl_ig1b_ft_in1k22483.3402241000cc-by-nc-4.0timm

tf tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
resnetrs50.tf_in1k160 (test 224)79.9342241000apache-2.0timm
resnetrs101.tf_in1k192 (test 288)82.2882881000apache-2.0timm
resnetrs152.tf_in1k256 (test 320)83.7103201000apache-2.0timm
resnetrs200.tf_in1k256 (test 320)84.4483201000apache-2.0timm
resnetrs270.tf_in1k256 (test 352)84.4383521000apache-2.0timm
resnetrs350.tf_in1k288 (test 384)84.7103841000apache-2.0timm
resnetrs420.tf_in1k320 (test 416)85.0104161000apache-2.0timm

miil tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
ecaresnet50d.miil_in1k224 (test 288)81.6482881000apache-2.0timm
ecaresnet50d_pruned.miil_in1k224 (test 288)80.8082881000apache-2.0timm
ecaresnet101d.miil_in1k224 (test 288)83.0062881000apache-2.0timm
ecaresnet101d_pruned.miil_in1k224 (test 288)82.0162881000apache-2.0timm
ecaresnetlight.miil_in1k224 (test 288)81.4302881000apache-2.0timm

facebookresearch/WSL-Images

Origin: github.com/facebookresearch/WSL-Images

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
resnext101_32x8d.fb_wsl_ig1b_ft_in1k22482.7202241000cc-by-nc-4.0timm
resnext101_32x16d.fb_wsl_ig1b_ft_in1k22484.1662241000cc-by-nc-4.0timm
resnext101_32x32d.fb_wsl_ig1b_ft_in1k22485.0902241000cc-by-nc-4.0timm

sw tags

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
seresnextaa201d_32x8d.sw_in12k320 (test 384)--11821apache-2.0timm
seresnextaa201d_32x8d.sw_in12k_ft_in1k_38438487.3043841000apache-2.0timm

Other

WeightInput sizeTop-1 (%)Eval sizeClassesLicenseHub
ecaresnet50t.ra2_in1k256 (test 320)82.3703201000apache-2.0timm
resnet50.am_in1k22479.0042241000apache-2.0timm
test_resnet.r160_in1k16041.6021601000apache-2.0timm
Update on GitHub