timm/resnet34.a1_in1k

image classificationtimmtimmpytorchsafetensorsimage-classificationtransformersarxiv:2110.00476apache-2.0
274.8K

Model card for resnet34.a1_in1k

A ResNet-B image classification model.

This model features:

  • ReLU activations
  • single layer 7x7 convolution with pooling
  • 1x1 convolution shortcut downsample

Trained on ImageNet-1k in timm using recipe template described below.

Recipe details:

  • ResNet Strikes Back A1 recipe
  • LAMB optimizer with BCE loss
  • Cosine LR schedule with warmup

Model Details

Model Usage

Image Classification

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model('resnet34.a1_in1k', pretrained=True)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # unsqueeze single image into batch of 1

top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)

Feature Map Extraction

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model(
    'resnet34.a1_in1k',
    pretrained=True,
    features_only=True,
)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # unsqueeze single image into batch of 1

for o in output:
    # print shape of each feature map in output
    # e.g.:
    #  torch.Size([1, 64, 112, 112])
    #  torch.Size([1, 64, 56, 56])
    #  torch.Size([1, 128, 28, 28])
    #  torch.Size([1, 256, 14, 14])
    #  torch.Size([1, 512, 7, 7])

    print(o.shape)

Image Embeddings

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model(
    'resnet34.a1_in1k',
    pretrained=True,
    num_classes=0,  # remove classifier nn.Linear
)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # output is (batch_size, num_features) shaped tensor

# or equivalently (without needing to set num_classes=0)

output = model.forward_features(transforms(img).unsqueeze(0))
# output is unpooled, a (1, 512, 7, 7) shaped tensor

output = model.forward_head(output, pre_logits=True)
# output is a (1, num_features) shaped tensor

Model Comparison

Explore the dataset and runtime metrics of this model in timm model results.

modelimg_sizetop1top5param_countgmacsmactsimg/sec
seresnextaa101d_32x8d.sw_in12k_ft_in1k_28832086.7298.1793.635.269.7451
seresnextaa101d_32x8d.sw_in12k_ft_in1k_28828886.5198.0893.628.556.4560
seresnextaa101d_32x8d.sw_in12k_ft_in1k28886.4998.0393.628.556.4557
seresnextaa101d_32x8d.sw_in12k_ft_in1k22485.9697.8293.617.234.2923
resnext101_32x32d.fb_wsl_ig1b_ft_in1k22485.1197.44468.587.391.1254
resnetrs420.tf_in1k41685.097.12191.9108.4213.8134
ecaresnet269d.ra2_in1k35284.9697.22102.150.2101.2291
ecaresnet269d.ra2_in1k32084.7397.18102.141.583.7353
resnetrs350.tf_in1k38484.7196.99164.077.6154.7183
seresnextaa101d_32x8d.ah_in1k28884.5797.0893.628.556.4557
resnetrs200.tf_in1k32084.4597.0893.231.567.8446
resnetrs270.tf_in1k35284.4396.97129.951.1105.5280
seresnext101d_32x8d.ah_in1k28884.3696.9293.627.653.0595
seresnet152d.ra2_in1k32084.3597.0466.824.147.7610
resnetrs350.tf_in1k28884.396.94164.043.787.1333
resnext101_32x8d.fb_swsl_ig1b_ft_in1k22484.2897.1788.816.531.21100
resnetrs420.tf_in1k32084.2496.86191.964.2126.6228
seresnext101_32x8d.ah_in1k28884.1996.8793.627.251.6613
resnext101_32x16d.fb_wsl_ig1b_ft_in1k22484.1897.19194.036.351.2581
resnetaa101d.sw_in12k_ft_in1k28884.1197.1144.615.129.01144
resnet200d.ra2_in1k32083.9796.8264.731.267.3518
resnetrs200.tf_in1k25683.8796.7593.220.243.4692
seresnextaa101d_32x8d.ah_in1k22483.8696.6593.617.234.2923
resnetrs152.tf_in1k32083.7296.6186.624.348.1617
seresnet152d.ra2_in1k25683.6996.7866.815.430.6943
seresnext101d_32x8d.ah_in1k22483.6896.6193.616.732.0986
resnet152d.ra2_in1k32083.6796.7460.224.147.7706
resnetrs270.tf_in1k25683.5996.61129.927.155.8526
seresnext101_32x8d.ah_in1k22483.5896.493.616.531.21013
resnetaa101d.sw_in12k_ft_in1k22483.5496.8344.69.117.61864
resnet152.a1h_in1k28883.4696.5460.219.137.3904
resnext101_32x16d.fb_swsl_ig1b_ft_in1k22483.3596.85194.036.351.2582
resnet200d.ra2_in1k25683.2396.5364.720.043.1809
resnext101_32x4d.fb_swsl_ig1b_ft_in1k22483.2296.7544.28.021.21814
resnext101_64x4d.c1_in1k28883.1696.3883.525.751.6590
resnet152d.ra2_in1k25683.1496.3860.215.430.51096
resnet101d.ra2_in1k32083.0296.4544.616.534.8992
ecaresnet101d.miil_in1k28882.9896.5444.613.428.21077
resnext101_64x4d.tv_in1k22482.9896.2583.515.531.2989
resnetrs152.tf_in1k25682.8696.2886.615.630.8951
resnext101_32x8d.tv2_in1k22482.8396.2288.816.531.21099
resnet152.a1h_in1k22482.896.1360.211.622.61486
resnet101.a1h_in1k28882.896.3244.613.026.81291
resnet152.a1_in1k28882.7495.7160.219.137.3905
resnext101_32x8d.fb_wsl_ig1b_ft_in1k22482.6996.6388.816.531.21100
resnet152.a2_in1k28882.6295.7560.219.137.3904
resnetaa50d.sw_in12k_ft_in1k28882.6196.4925.68.920.61729
resnet61q.ra2_in1k28882.5396.1336.89.921.51773
wide_resnet101_2.tv2_in1k22482.596.02126.922.821.21078
resnext101_64x4d.c1_in1k22482.4695.9283.515.531.2987
resnet51q.ra2_in1k28882.3696.1835.78.120.91964
ecaresnet50t.ra2_in1k32082.3596.1425.68.824.11386
resnet101.a1_in1k28882.3195.6344.613.026.81291
resnetrs101.tf_in1k28882.2996.0163.613.628.51078
resnet152.tv2_in1k22482.2996.060.211.622.61484
wide_resnet50_2.racm_in1k28882.2796.0668.918.923.81176
resnet101d.ra2_in1k25682.2696.0744.610.622.21542
resnet101.a2_in1k28882.2495.7344.613.026.81290
seresnext50_32x4d.racm_in1k28882.296.1427.67.023.81547
ecaresnet101d.miil_in1k22482.1896.0544.68.117.11771
resnext50_32x4d.fb_swsl_ig1b_ft_in1k22482.1796.2225.04.314.42943
ecaresnet50t.a1_in1k28882.1295.6525.67.119.61704
resnext50_32x4d.a1h_in1k28882.0395.9425.07.023.81745
ecaresnet101d_pruned.miil_in1k28882.096.1524.95.812.71787
resnet61q.ra2_in1k25681.9995.8536.87.817.02230
resnext101_32x8d.tv2_in1k17681.9895.7288.810.319.41768
resnet152.a1_in1k22481.9795.2460.211.622.61486
resnet101.a1h_in1k22481.9395.7544.67.816.22122
resnet101.tv2_in1k22481.995.7744.67.816.22118
resnext101_32x16d.fb_ssl_yfcc100m_ft_in1k22481.8496.1194.036.351.2583
resnet51q.ra2_in1k25681.7895.9435.76.416.62471
resnet152.a2_in1k22481.7795.2260.211.622.61485
resnetaa50d.sw_in12k_ft_in1k22481.7496.0625.65.412.42813
ecaresnet50t.a2_in1k28881.6595.5425.67.119.61703
ecaresnet50d.miil_in1k28881.6495.8825.67.219.71694
resnext101_32x8d.fb_ssl_yfcc100m_ft_in1k22481.6296.0488.816.531.21101
wide_resnet50_2.tv2_in1k22481.6195.7668.911.414.41930
resnetaa50.a1h_in1k28881.6195.8325.68.519.21868
resnet101.a1_in1k22481.595.1644.67.816.22125
resnext50_32x4d.a1_in1k28881.4895.1625.07.023.81745
gcresnet50t.ra2_in1k28881.4795.7125.96.918.62071
wide_resnet50_2.racm_in1k22481.4595.5368.911.414.41929
resnet50d.a1_in1k28881.4495.2225.67.219.71908
ecaresnet50t.ra2_in1k25681.4495.6725.65.615.42168
ecaresnetlight.miil_in1k28881.495.8230.26.813.92132
resnet50d.ra2_in1k28881.3795.7425.67.219.71910
resnet101.a2_in1k22481.3295.1944.67.816.22125
seresnet50.ra2_in1k28881.395.6528.16.818.41803
resnext50_32x4d.a2_in1k28881.395.1125.07.023.81746
seresnext50_32x4d.racm_in1k22481.2795.6227.64.314.42591
ecaresnet50t.a1_in1k22481.2695.1625.64.311.82823
gcresnext50ts.ch_in1k28881.2395.5415.74.819.62117
senet154.gluon_in1k22481.2395.35115.120.838.7545
resnet50.a1_in1k28881.2295.1125.66.818.42089
resnet50_gn.a1h_in1k28881.2295.6325.66.818.4676
resnet50d.a2_in1k28881.1895.0925.67.219.71908
resnet50.fb_swsl_ig1b_ft_in1k22481.1895.9825.64.111.13455
resnext50_32x4d.tv2_in1k22481.1795.3425.04.314.42933
resnext50_32x4d.a1h_in1k22481.195.3325.04.314.42934
seresnet50.a2_in1k28881.195.2328.16.818.41801
seresnet50.a1_in1k28881.195.1228.16.818.41799
resnet152s.gluon_in1k22481.0295.4160.312.925.01347
resnet50.d_in1k28880.9795.4425.66.818.42085
gcresnet50t.ra2_in1k25680.9495.4525.95.414.72571
resnext101_32x4d.fb_ssl_yfcc100m_ft_in1k22480.9395.7344.28.021.21814
resnet50.c1_in1k28880.9195.5525.66.818.42084
seresnext101_32x4d.gluon_in1k22480.995.3149.08.021.31585
seresnext101_64x4d.gluon_in1k22480.995.388.215.531.2918
resnet50.c2_in1k28880.8695.5225.66.818.42085
resnet50.tv2_in1k22480.8595.4325.64.111.13450
ecaresnet50t.a2_in1k22480.8495.0225.64.311.82821
ecaresnet101d_pruned.miil_in1k22480.7995.6224.93.57.72961
seresnet33ts.ra2_in1k28880.7995.3619.86.014.82506
ecaresnet50d_pruned.miil_in1k28880.7995.5819.94.210.62349
resnet50.a2_in1k28880.7894.9925.66.818.42088
resnet50.b1k_in1k28880.7195.4325.66.818.42087
resnext50_32x4d.ra_in1k28880.795.3925.07.023.81749
resnetrs101.tf_in1k19280.6995.2463.66.012.72270
resnet50d.a1_in1k22480.6894.7125.64.411.93162
eca_resnet33ts.ra2_in1k28880.6895.3619.76.014.82637
resnet50.a1h_in1k22480.6795.325.64.111.13452
resnext50d_32x4d.bt_in1k28880.6795.4225.07.425.11626
resnetaa50.a1h_in1k22480.6395.2125.65.211.63034
ecaresnet50d.miil_in1k22480.6195.3225.64.411.92813
resnext101_64x4d.gluon_in1k22480.6194.9983.515.531.2989
gcresnet33ts.ra2_in1k28880.695.3119.96.014.82578
gcresnext50ts.ch_in1k25680.5795.1715.73.815.52710
resnet152.a3_in1k22480.5695.060.211.622.61483
resnet50d.ra2_in1k22480.5395.1625.64.411.93164
resnext50_32x4d.a1_in1k22480.5394.4625.04.314.42930
wide_resnet101_2.tv2_in1k17680.4894.98126.914.313.21719
resnet152d.gluon_in1k22480.4795.260.211.823.41428
resnet50.b2k_in1k28880.4595.3225.66.818.42086
ecaresnetlight.miil_in1k22480.4595.2430.24.18.43530
resnext50_32x4d.a2_in1k22480.4594.6325.04.314.42936
wide_resnet50_2.tv2_in1k17680.4395.0968.97.39.03015
resnet101d.gluon_in1k22480.4295.0144.68.117.02007
resnet50.a1_in1k22480.3894.625.64.111.13461
seresnet33ts.ra2_in1k25680.3695.119.84.811.73267
resnext101_32x4d.gluon_in1k22480.3494.9344.28.021.21814
resnext50_32x4d.fb_ssl_yfcc100m_ft_in1k22480.3295.425.04.314.42941
resnet101s.gluon_in1k22480.2895.1644.79.218.61851
seresnet50.ra2_in1k22480.2695.0828.14.111.12972
resnetblur50.bt_in1k28880.2495.2425.68.519.91523
resnet50d.a2_in1k22480.2294.6325.64.411.93162
resnet152.tv2_in1k17680.294.6460.27.214.02346
seresnet50.a2_in1k22480.0894.7428.14.111.12969
eca_resnet33ts.ra2_in1k25680.0894.9719.74.811.73284
gcresnet33ts.ra2_in1k25680.0694.9919.94.811.73216
resnet50_gn.a1h_in1k22480.0694.9525.64.111.11109
seresnet50.a1_in1k22480.0294.7128.14.111.12962
resnet50.ram_in1k28879.9795.0525.66.818.42086
resnet152c.gluon_in1k22479.9294.8460.211.823.41455
seresnext50_32x4d.gluon_in1k22479.9194.8227.64.314.42591
resnet50.d_in1k22479.9194.6725.64.111.13456
resnet101.tv2_in1k17679.994.644.64.910.13341
resnetrs50.tf_in1k22479.8994.9735.74.512.12774
resnet50.c2_in1k22479.8894.8725.64.111.13455
ecaresnet26t.ra2_in1k32079.8695.0716.05.216.42168
resnet50.a2_in1k22479.8594.5625.64.111.13460
resnet50.ra_in1k28879.8394.9725.66.818.42087
resnet101.a3_in1k22479.8294.6244.67.816.22114
resnext50_32x4d.ra_in1k22479.7694.625.04.314.42943
resnet50.c1_in1k22479.7494.9525.64.111.13455
ecaresnet50d_pruned.miil_in1k22479.7494.8719.92.56.43929
resnet33ts.ra2_in1k28879.7194.8319.76.014.82710
resnet152.gluon_in1k22479.6894.7460.211.622.61486
resnext50d_32x4d.bt_in1k22479.6794.8725.04.515.22729
resnet50.bt_in1k28879.6394.9125.66.818.42086
ecaresnet50t.a3_in1k22479.5694.7225.64.311.82805
resnet101c.gluon_in1k22479.5394.5844.68.117.02062
resnet50.b1k_in1k22479.5294.6125.64.111.13459
resnet50.tv2_in1k17679.4294.6425.62.66.95397
resnet32ts.ra2_in1k28879.494.6618.05.914.62752
resnet50.b2k_in1k22479.3894.5725.64.111.13459
resnext50_32x4d.tv2_in1k17679.3794.325.02.79.04577
resnext50_32x4d.gluon_in1k22479.3694.4325.04.314.42942
resnext101_32x8d.tv_in1k22479.3194.5288.816.531.21100
resnet101.gluon_in1k22479.3194.5344.67.816.22125
resnetblur50.bt_in1k22479.3194.6325.65.212.02524
resnet50.a1h_in1k17679.2794.4925.62.66.95404
resnext50_32x4d.a3_in1k22479.2594.3125.04.314.42931
resnet50.fb_ssl_yfcc100m_ft_in1k22479.2294.8425.64.111.13451
resnet33ts.ra2_in1k25679.2194.5619.74.811.73392
resnet50d.gluon_in1k22479.0794.4825.64.411.93162
resnet50.ram_in1k22479.0394.3825.64.111.13453
resnet50.am_in1k22479.0194.3925.64.111.13461
resnet32ts.ra2_in1k25679.0194.3718.04.611.63440
ecaresnet26t.ra2_in1k25678.994.5416.03.410.53421
resnet152.a3_in1k16078.8994.1160.25.911.52745
wide_resnet101_2.tv_in1k22478.8494.28126.922.821.21079
seresnext26d_32x4d.bt_in1k28878.8394.2416.84.516.82251
resnet50.ra_in1k22478.8194.3225.64.111.13454
seresnext26t_32x4d.bt_in1k28878.7494.3316.84.516.72264
resnet50s.gluon_in1k22478.7294.2325.75.513.52796
resnet50d.a3_in1k22478.7194.2425.64.411.93154
wide_resnet50_2.tv_in1k22478.4794.0968.911.414.41934
resnet50.bt_in1k22478.4694.2725.64.111.13454
resnet34d.ra2_in1k28878.4394.3521.86.57.53291
gcresnext26ts.ch_in1k28878.4294.0410.53.113.33226
resnet26t.ra2_in1k32078.3394.1316.05.216.42391
resnet152.tv_in1k22478.3294.0460.211.622.61487
seresnext26ts.ch_in1k28878.2894.110.43.113.33062
bat_resnext26ts.ch_in1k25678.2594.110.72.512.53393
resnet50.a3_in1k22478.0693.7825.64.111.13450
resnet50c.gluon_in1k22478.093.9925.64.411.93286
eca_resnext26ts.ch_in1k28878.093.9110.33.113.33297
seresnext26t_32x4d.bt_in1k22477.9893.7516.82.710.13841
resnet34.a1_in1k28877.9293.7721.86.16.23609
resnet101.a3_in1k16077.8893.7144.64.08.33926
resnet26t.ra2_in1k25677.8793.8416.03.410.53772
seresnext26ts.ch_in1k25677.8693.7910.42.410.54263
resnetrs50.tf_in1k16077.8293.8135.72.36.25238
gcresnext26ts.ch_in1k25677.8193.8210.52.410.54183
ecaresnet50t.a3_in1k16077.7993.625.62.26.05329
resnext50_32x4d.a3_in1k16077.7393.3225.02.27.45576
resnext50_32x4d.tv_in1k22477.6193.725.04.314.42944
seresnext26d_32x4d.bt_in1k22477.5993.6116.82.710.23807
resnet50.gluon_in1k22477.5893.7225.64.111.13455
eca_resnext26ts.ch_in1k25677.4493.5610.32.410.54284
resnet26d.bt_in1k28877.4193.6316.04.313.52907
resnet101.tv_in1k22477.3893.5444.67.816.22125
resnet50d.a3_in1k16077.2293.2725.62.26.15982
resnext26ts.ra2_in1k28877.1793.4710.33.113.33392
resnet34.a2_in1k28877.1593.2721.86.16.23615
resnet34d.ra2_in1k22477.193.3721.83.94.55436
seresnet50.a3_in1k22477.0293.0728.14.111.12952
resnext26ts.ra2_in1k25676.7893.1310.32.410.54410
resnet26d.bt_in1k22476.793.1716.02.68.24859
resnet34.bt_in1k28876.593.3521.86.16.23617
resnet34.a1_in1k22476.4292.8721.83.73.75984
resnet26.bt_in1k28876.3593.1816.03.912.23331
resnet50.tv_in1k22476.1392.8625.64.111.13457
resnet50.a3_in1k16075.9692.525.62.15.76490
resnet34.a2_in1k22475.5292.4421.83.73.75991
resnet26.bt_in1k22475.392.5816.02.47.45583
resnet34.bt_in1k22475.1692.1821.83.73.75994
seresnet50.a3_in1k16075.192.0828.12.15.75513
resnet34.gluon_in1k22474.5791.9821.83.73.75984
resnet18d.ra2_in1k28873.8191.8311.73.45.45196
resnet34.tv_in1k22473.3291.4221.83.73.75979
resnet18.fb_swsl_ig1b_ft_in1k22473.2891.7311.71.82.510213
resnet18.a1_in1k28873.1691.0311.73.04.16050
resnet34.a3_in1k22472.9891.1121.83.73.75967
resnet18.fb_ssl_yfcc100m_ft_in1k22472.691.4211.71.82.510213
resnet18.a2_in1k28872.3790.5911.73.04.16051
resnet14t.c3_in1k22472.2690.3110.11.75.87026
resnet18d.ra2_in1k22472.2690.6811.72.13.38707
resnet18.a1_in1k22471.4990.0711.71.82.510187
resnet14t.c3_in1k17671.3189.6910.11.13.610970
resnet18.gluon_in1k22470.8489.7611.71.82.510210
resnet18.a2_in1k22470.6489.4711.71.82.510194
resnet34.a3_in1k16070.5689.5221.81.91.910737
resnet18.tv_in1k22469.7689.0711.71.82.510205
resnet10t.c3_in1k22468.3488.035.41.12.413079
resnet18.a3_in1k22468.2588.1711.71.82.510167
resnet10t.c3_in1k17666.7186.965.40.71.520327
resnet18.a3_in1k16065.6686.2611.70.91.318229

Citation

@inproceedings{wightman2021resnet,
  title={ResNet strikes back: An improved training procedure in timm},
  author={Wightman, Ross and Touvron, Hugo and Jegou, Herve},
  booktitle={NeurIPS 2021 Workshop on ImageNet: Past, Present, and Future}
}
@misc{rw2019timm,
  author = {Ross Wightman},
  title = {PyTorch Image Models},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  doi = {10.5281/zenodo.4414861},
  howpublished = {\url{https://github.com/huggingface/pytorch-image-models}}
}
@article{He2015,
  author = {Kaiming He and Xiangyu Zhang and Shaoqing Ren and Jian Sun},
  title = {Deep Residual Learning for Image Recognition},
  journal = {arXiv preprint arXiv:1512.03385},
  year = {2015}
}
DEPLOY IN 60 SECONDS

Run resnet34.a1_in1k on Runcrate

Deploy on H100, A100, or RTX GPUs. Pay only for what you use. No setup required.