@@ -19,13 +19,14 @@ def _entry(model_name, paper_model_name, paper_arxiv_id, batch_size=BATCH_SIZE,
1919 ttp = ttp ,
2020 args = args )
2121
22-
22+ # NOTE For any original PyTorch models, I'll remove from this list when you add to sotabench to
23+ # avoid overlap and confusion. Please contact me.
2324model_list = [
24- #_entry('adv_inception_v3', 'Adversarial Inception V3', ),
25- # _entry('densenet121'), # same weights as torchvision
26- #_entry('densenet161'), # same weights as torchvision
27- # _entry('densenet169'), # same weights as torchvision
28- #_entry('densenet201'), # same weights as torchvision
25+ ## Weights ported by myself from other frameworks or trained myself in PyTorch
26+ _entry ('adv_inception_v3' , 'Adversarial Inception V3' , '1611.01236' ,
27+ model_desc = 'Ported from official Tensorflow weights' ),
28+ _entry ('ens_adv_inception_resnet_v2' , 'Ensemble Adversarial Inception V3' , '1705.07204' ,
29+ model_desc = 'Ported from official Tensorflow weights' ),
2930 _entry ('dpn68' , 'DPN-68 (224x224)' , '1707.01629' ),
3031 _entry ('dpn68b' , 'DPN-68b (224x224)' , '1707.01629' ),
3132 _entry ('dpn92' , 'DPN-92 (224x224)' , '1707.01629' ),
@@ -45,74 +46,57 @@ def _entry(model_name, paper_model_name, paper_arxiv_id, batch_size=BATCH_SIZE,
4546 _entry ('efficientnet_b0' , 'EfficientNet-B0' , '1905.11946' ),
4647 _entry ('efficientnet_b1' , 'EfficientNet-B1' , '1905.11946' ),
4748 _entry ('efficientnet_b2' , 'EfficientNet-B2' , '1905.11946' ),
48- # _entry('ens_adv_inception_resnet_v2 ', 'Ensemble Adversarial Inception V3') ,
49- _entry ( 'fbnetc_100' , 'FBNet-C' , '1812.03443 ' ),
50- _entry ('gluon_inception_v3' , 'Inception V3' , '1512.00567' ),
49+ _entry ('fbnetc_100 ' , 'FBNet-C' , '1812.03443' ,
50+ model_desc = 'Trained in PyTorch with RMSProp, exponential LR decay ' ),
51+ _entry ('gluon_inception_v3' , 'Inception V3' , '1512.00567' , model_desc = 'Ported from GluonCV Model Zoo' ),
5152 _entry ('gluon_resnet18_v1b' , 'ResNet-18' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
52- _entry ('gluon_resnet34_v1b' , 'ResNet-34' , '1812.01187' ),
53- _entry ('gluon_resnet50_v1b' , 'ResNet-50' , '1812.01187' ),
54- _entry ('gluon_resnet50_v1c' , 'ResNet-50-C' , '1812.01187' ),
55- _entry ('gluon_resnet50_v1d' , 'ResNet-50-D' , '1812.01187' ),
56- _entry ('gluon_resnet50_v1s' , 'ResNet-50-S' , '1812.01187' ),
57- _entry ('gluon_resnet101_v1b' , 'ResNet-101' , '1812.01187' ),
58- _entry ('gluon_resnet101_v1c' , 'ResNet-101-C' , '1812.01187' ),
59- _entry ('gluon_resnet101_v1d' , 'ResNet-101-D' , '1812.01187' ),
60- _entry ('gluon_resnet101_v1s' , 'ResNet-101-S' , '1812.01187' ),
61- _entry ('gluon_resnet152_v1b' , 'ResNet-152' , '1812.01187' ),
62- _entry ('gluon_resnet152_v1c' , 'ResNet-152-C' , '1812.01187' ),
63- _entry ('gluon_resnet152_v1d' , 'ResNet-152-D' , '1812.01187' ),
64- _entry ('gluon_resnet152_v1s' , 'ResNet-152-S' , '1812.01187' ),
65- _entry ('gluon_resnext50_32x4d' , 'ResNeXt-50 32x4d' , '1812.01187' ),
66- _entry ('gluon_resnext101_32x4d' , 'ResNeXt-101 32x4d' , '1812.01187' ),
67- _entry ('gluon_resnext101_64x4d' , 'ResNeXt-101 64x4d' , '1812.01187' ),
68- _entry ('gluon_senet154' , 'SENet-154' , '1812.01187' ),
69- _entry ('gluon_seresnext50_32x4d' , 'SE-ResNeXt-50 32x4d' , '1812.01187' ),
70- _entry ('gluon_seresnext101_32x4d' , 'SE-ResNeXt-101 32x4d' , '1812.01187' ),
71- _entry ('gluon_seresnext101_64x4d' , 'SE-ResNeXt-101 64x4d' , '1812.01187' ),
72- _entry ('gluon_xception65' , 'Modified Aligned Xception' , '1802.02611' , batch_size = BATCH_SIZE // 2 ),
73- _entry ('ig_resnext101_32x8d' , 'ResNeXt-101 32x8d' , '1805.00932' ),
74- _entry ('ig_resnext101_32x16d' , 'ResNeXt-101 32x16d' , '1805.00932' ),
75- _entry ('ig_resnext101_32x32d' , 'ResNeXt-101 32x32d' , '1805.00932' , batch_size = BATCH_SIZE // 2 ),
76- _entry ('ig_resnext101_32x48d' , 'ResNeXt-101 32x48d' , '1805.00932' , batch_size = BATCH_SIZE // 4 ),
77- _entry ('inception_resnet_v2' , 'Inception ResNet V2' , '1602.07261' ),
78- #_entry('inception_v3', paper_model_name='Inception V3', ), # same weights as torchvision
79- _entry ('inception_v4' , 'Inception V4' , '1602.07261' ),
53+ _entry ('gluon_resnet34_v1b' , 'ResNet-34' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
54+ _entry ('gluon_resnet50_v1b' , 'ResNet-50' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
55+ _entry ('gluon_resnet50_v1c' , 'ResNet-50-C' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
56+ _entry ('gluon_resnet50_v1d' , 'ResNet-50-D' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
57+ _entry ('gluon_resnet50_v1s' , 'ResNet-50-S' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
58+ _entry ('gluon_resnet101_v1b' , 'ResNet-101' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
59+ _entry ('gluon_resnet101_v1c' , 'ResNet-101-C' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
60+ _entry ('gluon_resnet101_v1d' , 'ResNet-101-D' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
61+ _entry ('gluon_resnet101_v1s' , 'ResNet-101-S' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
62+ _entry ('gluon_resnet152_v1b' , 'ResNet-152' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
63+ _entry ('gluon_resnet152_v1c' , 'ResNet-152-C' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
64+ _entry ('gluon_resnet152_v1d' , 'ResNet-152-D' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
65+ _entry ('gluon_resnet152_v1s' , 'ResNet-152-S' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
66+ _entry ('gluon_resnext50_32x4d' , 'ResNeXt-50 32x4d' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
67+ _entry ('gluon_resnext101_32x4d' , 'ResNeXt-101 32x4d' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
68+ _entry ('gluon_resnext101_64x4d' , 'ResNeXt-101 64x4d' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
69+ _entry ('gluon_senet154' , 'SENet-154' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
70+ _entry ('gluon_seresnext50_32x4d' , 'SE-ResNeXt-50 32x4d' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
71+ _entry ('gluon_seresnext101_32x4d' , 'SE-ResNeXt-101 32x4d' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
72+ _entry ('gluon_seresnext101_64x4d' , 'SE-ResNeXt-101 64x4d' , '1812.01187' , model_desc = 'Ported from GluonCV Model Zoo' ),
73+ _entry ('gluon_xception65' , 'Modified Aligned Xception' , '1802.02611' , batch_size = BATCH_SIZE // 2 ,
74+ model_desc = 'Ported from GluonCV Model Zoo' ),
75+ _entry ('mixnet_xl' , 'MixNet-XL' , '1907.09595' , model_desc = "My own scaling beyond paper's MixNet Large" ),
8076 _entry ('mixnet_l' , 'MixNet-L' , '1907.09595' ),
8177 _entry ('mixnet_m' , 'MixNet-M' , '1907.09595' ),
8278 _entry ('mixnet_s' , 'MixNet-S' , '1907.09595' ),
8379 _entry ('mnasnet_100' , 'MnasNet-B1' , '1807.11626' ),
8480 _entry ('mobilenetv3_100' , 'MobileNet V3(1.0)' , '1905.02244' ,
85- model_desc = 'Trained from scratch in PyTorch with RMSProp, exponential LR decay, and hyper-params matching'
86- ' paper as closely as possible.' ),
87- _entry ('nasnetalarge' , 'NASNet-A Large' , '1707.07012' , batch_size = BATCH_SIZE // 4 ),
88- _entry ('pnasnet5large' , 'PNASNet-5' , '1712.00559' , batch_size = BATCH_SIZE // 4 ),
81+ model_desc = 'Trained in PyTorch with RMSProp, exponential LR decay, and hyper-params matching '
82+ 'paper as closely as possible.' ),
8983 _entry ('resnet18' , 'ResNet-18' , '1812.01187' ),
90- _entry ('resnet26' , 'ResNet-26' , '1812.01187' ),
91- _entry ('resnet26d' , 'ResNet-26-D' , '1812.01187' ),
84+ _entry ('resnet26' , 'ResNet-26' , '1812.01187' , model_desc = 'Block cfg of ResNet-34 w/ Bottleneck' ),
85+ _entry ('resnet26d' , 'ResNet-26-D' , '1812.01187' ,
86+ model_desc = 'Block cfg of ResNet-34 w/ Bottleneck, deep stem, and avg-pool in downsample layers.' ),
9287 _entry ('resnet34' , 'ResNet-34' , '1812.01187' ),
9388 _entry ('resnet50' , 'ResNet-50' , '1812.01187' ),
94- #_entry('resnet101', , ), # same weights as torchvision
95- #_entry('resnet152', , ), # same weights as torchvision
9689 _entry ('resnext50_32x4d' , 'ResNeXt-50 32x4d' , '1812.01187' ),
9790 _entry ('resnext50d_32x4d' , 'ResNeXt-50-D 32x4d' , '1812.01187' ,
98- model_desc = """'D' variant (3x3 deep stem w/ avg-pool downscale)
99- Trained with:
100- * SGD w/ cosine LR decay
101- * Random-erasing (gaussian per-pixel noise)
102- * Label-smoothing
103- """ ),
104- #_entry('resnext101_32x8d', ), # same weights as torchvision
91+ model_desc = "'D' variant (3x3 deep stem w/ avg-pool downscale). Trained with "
92+ "SGD w/ cosine LR decay, random-erasing (gaussian per-pixel noise) and label-smoothing" ),
10593 _entry ('semnasnet_100' , 'MnasNet-A1' , '1807.11626' ),
106- _entry ('senet154' , 'SENet-154' , '1709.01507' ),
10794 _entry ('seresnet18' , 'SE-ResNet-18' , '1709.01507' ),
10895 _entry ('seresnet34' , 'SE-ResNet-34' , '1709.01507' ),
109- _entry ('seresnet50' , 'SE-ResNet-50' , '1709.01507' ),
110- _entry ('seresnet101' , 'SE-ResNet-101' , '1709.01507' ),
111- _entry ('seresnet152' , 'SE-ResNet-152' , '1709.01507' ),
112- _entry ('seresnext26_32x4d' , 'SE-ResNeXt-26 32x4d' , '1709.01507' ),
113- _entry ('seresnext50_32x4d' , 'SE-ResNeXt-50 32x4d' , '1709.01507' ),
114- _entry ('seresnext101_32x4d' , 'SE-ResNeXt-101 32x4d' , '1709.01507' ),
115- _entry ('spnasnet_100' , 'Single-Path NAS' , '1904.02877' ),
96+ _entry ('seresnext26_32x4d' , 'SE-ResNeXt-26 32x4d' , '1709.01507' ,
97+ model_desc = 'Block cfg of SE-ResNeXt-34 w/ Bottleneck, deep stem, and avg-pool in downsample layers.' ),
98+ _entry ('spnasnet_100' , 'Single-Path NAS' , '1904.02877' ,
99+ model_desc = 'Trained in PyTorch with SGD, cosine LR decay' ),
116100 _entry ('tf_efficientnet_b0' , 'EfficientNet-B0 (AutoAugment)' , '1905.11946' ,
117101 model_desc = 'Ported from official Google AI Tensorflow weights' ),
118102 _entry ('tf_efficientnet_b1' , 'EfficientNet-B1 (AutoAugment)' , '1905.11946' ,
@@ -135,18 +119,76 @@ def _entry(model_name, paper_model_name, paper_arxiv_id, batch_size=BATCH_SIZE,
135119 model_desc = 'Ported from official Google AI Tensorflow weights' ),
136120 _entry ('tf_efficientnet_el' , 'EfficientNet-EdgeTPU-L' , '1905.11946' , batch_size = BATCH_SIZE // 2 ,
137121 model_desc = 'Ported from official Google AI Tensorflow weights' ),
138- _entry ('tf_inception_v3' , 'Inception V3' , '1512.00567' ),
139- _entry ('tf_mixnet_l' , 'MixNet-L' , '1907.09595' ),
140- _entry ('tf_mixnet_m' , 'MixNet-M' , '1907.09595' ),
141- _entry ('tf_mixnet_s' , 'MixNet-S' , '1907.09595' ),
142- #_entry('tv_resnet34', , ), # same weights as torchvision
143- #_entry('tv_resnet50', , ), # same weights as torchvision
144- #_entry('tv_resnext50_32x4d', , ), # same weights as torchvision
145- #_entry('wide_resnet50_2' , ), # same weights as torchvision
146- #_entry('wide_resnet101_2', , ), # same weights as torchvision
122+ _entry ('tf_inception_v3' , 'Inception V3' , '1512.00567' , model_desc = 'Ported from official Tensorflow weights' ),
123+ _entry ('tf_mixnet_l' , 'MixNet-L' , '1907.09595' , model_desc = 'Ported from official Google AI Tensorflow weights' ),
124+ _entry ('tf_mixnet_m' , 'MixNet-M' , '1907.09595' , model_desc = 'Ported from official Google AI Tensorflow weights' ),
125+ _entry ('tf_mixnet_s' , 'MixNet-S' , '1907.09595' , model_desc = 'Ported from official Google AI Tensorflow weights' ),
126+
127+ ## Cadene ported weights (to remove if Cadene adds sotabench)
128+ _entry ('inception_resnet_v2' , 'Inception ResNet V2' , '1602.07261' ),
129+ _entry ('inception_v4' , 'Inception V4' , '1602.07261' ),
130+ _entry ('nasnetalarge' , 'NASNet-A Large' , '1707.07012' , batch_size = BATCH_SIZE // 4 ),
131+ _entry ('pnasnet5large' , 'PNASNet-5' , '1712.00559' , batch_size = BATCH_SIZE // 4 ),
132+ _entry ('seresnet50' , 'SE-ResNet-50' , '1709.01507' ),
133+ _entry ('seresnet101' , 'SE-ResNet-101' , '1709.01507' ),
134+ _entry ('seresnet152' , 'SE-ResNet-152' , '1709.01507' ),
135+ _entry ('seresnext50_32x4d' , 'SE-ResNeXt-50 32x4d' , '1709.01507' ),
136+ _entry ('seresnext101_32x4d' , 'SE-ResNeXt-101 32x4d' , '1709.01507' ),
137+ _entry ('senet154' , 'SENet-154' , '1709.01507' ),
147138 _entry ('xception' , 'Xception' , '1610.02357' ),
148- ]
149139
140+ ## Torchvision weights
141+ # _entry('densenet121'),
142+ # _entry('densenet161'),
143+ # _entry('densenet169'),
144+ # _entry('densenet201'),
145+ # _entry('inception_v3', paper_model_name='Inception V3', ),
146+ # _entry('tv_resnet34', , ),
147+ # _entry('tv_resnet50', , ),
148+ # _entry('resnet101', , ),
149+ # _entry('resnet152', , ),
150+ # _entry('tv_resnext50_32x4d', , ),
151+ # _entry('resnext101_32x8d', ),
152+ # _entry('wide_resnet50_2' , ),
153+ # _entry('wide_resnet101_2', , ),
154+
155+ ## Facebook WSL weights
156+ _entry ('ig_resnext101_32x8d' , 'ResNeXt-101 32x8d' , '1805.00932' ),
157+ _entry ('ig_resnext101_32x16d' , 'ResNeXt-101 32x16d' , '1805.00932' ),
158+ _entry ('ig_resnext101_32x32d' , 'ResNeXt-101 32x32d' , '1805.00932' , batch_size = BATCH_SIZE // 2 ),
159+ _entry ('ig_resnext101_32x48d' , 'ResNeXt-101 32x48d' , '1805.00932' , batch_size = BATCH_SIZE // 4 ),
160+ _entry ('ig_resnext101_32x8d (288x288 Mean-Max Pooling)' , 'ResNeXt-101 32x8d' , '1805.00932' ,
161+ ttp = True , args = dict (img_size = 288 )),
162+ _entry ('ig_resnext101_32x16d (288x288 Mean-Max Pooling)' , 'ResNeXt-101 32x16d' , '1805.00932' ,
163+ ttp = True , args = dict (img_size = 288 ), batch_size = BATCH_SIZE // 2 ),
164+ _entry ('ig_resnext101_32x32d (288x288 Mean-Max Pooling)' , 'ResNeXt-101 32x32d' , '1805.00932' ,
165+ ttp = True , args = dict (img_size = 288 ), batch_size = BATCH_SIZE // 4 ),
166+ _entry ('ig_resnext101_32x48d (288x288 Mean-Max Pooling)' , 'ResNeXt-101 32x48d' , '1805.00932' ,
167+ ttp = True , args = dict (img_size = 288 ), batch_size = BATCH_SIZE // 8 ),
168+
169+ ## DLA official impl weights (to remove if sotabench added to source)
170+ _entry ('dla34' , 'DLA-34' , '1707.06484' ),
171+ _entry ('dla46_c' , 'DLA-46-C' , '1707.06484' ),
172+ _entry ('dla46x_c' , 'DLA-X-46-C' , '1707.06484' ),
173+ _entry ('dla60x_c' , 'DLA-X-60-C' , '1707.06484' ),
174+ _entry ('dla60' , 'DLA-60' , '1707.06484' ),
175+ _entry ('dla60x' , 'DLA-X-60' , '1707.06484' ),
176+ _entry ('dla102' , 'DLA-102' , '1707.06484' ),
177+ _entry ('dla102x' , 'DLA-X-102' , '1707.06484' ),
178+ _entry ('dla102x2' , 'DLA-X-102 64' , '1707.06484' ),
179+ _entry ('dla169' , 'DLA-169' , '1707.06484' ),
180+
181+ ## Res2Net official impl weights (to remove if sotabench added to source)
182+ _entry ('res2net50_26w_4s' , 'Res2Net-50 26x4s' , '1904.01169' ),
183+ _entry ('res2net50_14w_8s' , 'Res2Net-50 14x8s' , '1904.01169' ),
184+ _entry ('res2net50_26w_6s' , 'Res2Net-50 26x6s' , '1904.01169' ),
185+ _entry ('res2net50_26w_8s' , 'Res2Net-50 26x8s' , '1904.01169' ),
186+ _entry ('res2net50_48w_2s' , 'Res2Net-50 48x2s' , '1904.01169' ),
187+ _entry ('res2net101_26w_4s' , 'Res2NeXt-101 26x4s' , '1904.01169' ),
188+ _entry ('res2next50' , 'Res2NeXt-50' , '1904.01169' ),
189+ _entry ('dla60_res2net' , 'Res2Net-DLA-60' , '1904.01169' ),
190+ _entry ('dla60_res2next' , 'Res2NeXt-DLA-60' , '1904.01169' ),
191+ ]
150192
151193for m in model_list :
152194 model_name = m ['model' ]
0 commit comments