@@ -46,18 +46,18 @@ def _cfg(url='', **kwargs):
4646default_cfgs = {
4747 # GPU-Efficient (ResNet) weights
4848 'botnet26t_256' : _cfg (url = '' , fixed_input_size = True , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 )),
49- 'botnet50t_224' : _cfg (url = '' , fixed_input_size = True ),
50- 'botnet50t_c4c5_224' : _cfg (url = '' , fixed_input_size = True ),
49+ 'botnet50ts_256' : _cfg (url = '' , fixed_input_size = True , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 )),
5150
5251 'halonet_h1' : _cfg (url = '' , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 ), min_input_size = (3 , 256 , 256 )),
5352 'halonet_h1_c4c5' : _cfg (url = '' , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 ), min_input_size = (3 , 256 , 256 )),
5453 'halonet26t' : _cfg (url = '' , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 ), min_input_size = (3 , 256 , 256 )),
55- 'halonet50t ' : _cfg (url = '' , min_input_size = (3 , 224 , 224 )),
54+ 'halonet50ts ' : _cfg (url = '' , input_size = ( 3 , 256 , 256 ), pool_size = ( 8 , 8 ), min_input_size = (3 , 256 , 256 )),
5655
5756 'lambda_resnet26t' : _cfg (url = '' , min_input_size = (3 , 128 , 128 ), input_size = (3 , 256 , 256 ), pool_size = (8 , 8 )),
5857 'lambda_resnet50t' : _cfg (url = '' , min_input_size = (3 , 128 , 128 )),
5958
6059 'swinnet26t_256' : _cfg (url = '' , fixed_input_size = True , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 )),
60+ 'swinnet50ts_256' : _cfg (url = '' , fixed_input_size = True , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 )),
6161}
6262
6363
@@ -110,38 +110,18 @@ def interleave_attn(
110110 self_attn_fixed_size = True ,
111111 self_attn_kwargs = dict ()
112112 ),
113- botnet50t = ByoaCfg (
113+ botnet50ts = ByoaCfg (
114114 blocks = (
115115 ByoaBlocksCfg (type = 'bottle' , d = 3 , c = 256 , s = 2 , gs = 0 , br = 0.25 ),
116116 ByoaBlocksCfg (type = 'bottle' , d = 4 , c = 512 , s = 2 , gs = 0 , br = 0.25 ),
117- ByoaBlocksCfg ( type = 'bottle' , d = 6 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
117+ interleave_attn ( types = ( 'bottle' , 'self_attn' ), every = 1 , d = 6 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
118118 ByoaBlocksCfg (type = 'self_attn' , d = 3 , c = 2048 , s = 1 , gs = 0 , br = 0.25 ),
119119 ),
120120 stem_chs = 64 ,
121121 stem_type = 'tiered' ,
122122 stem_pool = '' ,
123123 num_features = 0 ,
124- self_attn_layer = 'bottleneck' ,
125- self_attn_fixed_size = True ,
126- self_attn_kwargs = dict ()
127- ),
128- botnet50t_c4c5 = ByoaCfg (
129- blocks = (
130- ByoaBlocksCfg (type = 'bottle' , d = 3 , c = 256 , s = 1 , gs = 0 , br = 0.25 ),
131- ByoaBlocksCfg (type = 'bottle' , d = 4 , c = 512 , s = 2 , gs = 0 , br = 0.25 ),
132- (
133- ByoaBlocksCfg (type = 'self_attn' , d = 1 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
134- ByoaBlocksCfg (type = 'bottle' , d = 5 , c = 1024 , s = 1 , gs = 0 , br = 0.25 ),
135- ),
136- (
137- ByoaBlocksCfg (type = 'self_attn' , d = 1 , c = 2048 , s = 2 , gs = 0 , br = 0.25 ),
138- ByoaBlocksCfg (type = 'bottle' , d = 2 , c = 2048 , s = 1 , gs = 0 , br = 0.25 ),
139- )
140- ),
141- stem_chs = 64 ,
142- stem_type = 'tiered' ,
143- stem_pool = 'maxpool' ,
144- num_features = 0 ,
124+ act_layer = 'silu' ,
145125 self_attn_layer = 'bottleneck' ,
146126 self_attn_fixed_size = True ,
147127 self_attn_kwargs = dict ()
@@ -189,19 +169,20 @@ def interleave_attn(
189169 self_attn_layer = 'halo' ,
190170 self_attn_kwargs = dict (block_size = 8 , halo_size = 2 ) # intended for 256x256 res
191171 ),
192- halonet50t = ByoaCfg (
172+ halonet50ts = ByoaCfg (
193173 blocks = (
194174 ByoaBlocksCfg (type = 'bottle' , d = 3 , c = 256 , s = 1 , gs = 0 , br = 0.25 ),
195175 ByoaBlocksCfg (type = 'bottle' , d = 4 , c = 512 , s = 2 , gs = 0 , br = 0.25 ),
196- ByoaBlocksCfg ( type = 'bottle' , d = 6 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
176+ interleave_attn ( types = ( 'bottle' , 'self_attn' ), every = 1 , d = 6 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
197177 ByoaBlocksCfg (type = 'self_attn' , d = 3 , c = 2048 , s = 2 , gs = 0 , br = 0.25 ),
198178 ),
199179 stem_chs = 64 ,
200180 stem_type = 'tiered' ,
201181 stem_pool = 'maxpool' ,
202182 num_features = 0 ,
183+ act_layer = 'silu' ,
203184 self_attn_layer = 'halo' ,
204- self_attn_kwargs = dict (block_size = 7 , halo_size = 2 )
185+ self_attn_kwargs = dict (block_size = 8 , halo_size = 2 )
205186 ),
206187
207188 lambda_resnet26t = ByoaCfg (
@@ -234,16 +215,32 @@ def interleave_attn(
234215 ),
235216
236217 swinnet26t = ByoaCfg (
218+ blocks = (
219+ ByoaBlocksCfg (type = 'bottle' , d = 2 , c = 256 , s = 1 , gs = 0 , br = 0.25 ),
220+ interleave_attn (types = ('bottle' , 'self_attn' ), every = 1 , d = 2 , c = 512 , s = 2 , gs = 0 , br = 0.25 ),
221+ interleave_attn (types = ('bottle' , 'self_attn' ), every = 1 , d = 2 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
222+ ByoaBlocksCfg (type = 'self_attn' , d = 2 , c = 2048 , s = 2 , gs = 0 , br = 0.25 ),
223+ ),
224+ stem_chs = 64 ,
225+ stem_type = 'tiered' ,
226+ stem_pool = 'maxpool' ,
227+ num_features = 0 ,
228+ self_attn_layer = 'swin' ,
229+ self_attn_fixed_size = True ,
230+ self_attn_kwargs = dict (win_size = 8 )
231+ ),
232+ swinnet50ts = ByoaCfg (
237233 blocks = (
238234 ByoaBlocksCfg (type = 'bottle' , d = 3 , c = 256 , s = 1 , gs = 0 , br = 0.25 ),
239- ByoaBlocksCfg ( type = 'bottle' , d = 4 , c = 512 , s = 2 , gs = 0 , br = 0.25 ),
235+ interleave_attn ( types = ( 'bottle' , 'self_attn' ), every = 1 , d = 4 , c = 512 , s = 2 , gs = 0 , br = 0.25 ),
240236 interleave_attn (types = ('bottle' , 'self_attn' ), every = 1 , d = 2 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
241237 ByoaBlocksCfg (type = 'self_attn' , d = 3 , c = 2048 , s = 2 , gs = 0 , br = 0.25 ),
242238 ),
243239 stem_chs = 64 ,
244240 stem_type = 'tiered' ,
245241 stem_pool = 'maxpool' ,
246242 num_features = 0 ,
243+ act_layer = 'silu' ,
247244 self_attn_layer = 'swin' ,
248245 self_attn_fixed_size = True ,
249246 self_attn_kwargs = dict (win_size = 8 )
@@ -415,19 +412,11 @@ def botnet26t_256(pretrained=False, **kwargs):
415412
416413
417414@register_model
418- def botnet50t_224 (pretrained = False , ** kwargs ):
415+ def botnet50ts_256 (pretrained = False , ** kwargs ):
419416 """ Bottleneck Transformer w/ ResNet50-T backbone. Bottleneck attn in final stage.
420417 """
421- kwargs .setdefault ('img_size' , 224 )
422- return _create_byoanet ('botnet50t_224' , 'botnet50t' , pretrained = pretrained , ** kwargs )
423-
424-
425- @register_model
426- def botnet50t_c4c5_224 (pretrained = False , ** kwargs ):
427- """ Bottleneck Transformer w/ ResNet50-T backbone. Bottleneck attn in last two stages.
428- """
429- kwargs .setdefault ('img_size' , 224 )
430- return _create_byoanet ('botnet50t_c4c5_224' , 'botnet50t_c4c5' , pretrained = pretrained , ** kwargs )
418+ kwargs .setdefault ('img_size' , 256 )
419+ return _create_byoanet ('botnet50ts_256' , 'botnet50ts' , pretrained = pretrained , ** kwargs )
431420
432421
433422@register_model
@@ -454,10 +443,10 @@ def halonet26t(pretrained=False, **kwargs):
454443
455444
456445@register_model
457- def halonet50t (pretrained = False , ** kwargs ):
446+ def halonet50ts (pretrained = False , ** kwargs ):
458447 """ HaloNet w/ a ResNet50-t backbone, Hallo attention in final stage
459448 """
460- return _create_byoanet ('halonet50t ' , pretrained = pretrained , ** kwargs )
449+ return _create_byoanet ('halonet50ts ' , pretrained = pretrained , ** kwargs )
461450
462451
463452@register_model
@@ -480,3 +469,11 @@ def swinnet26t_256(pretrained=False, **kwargs):
480469 """
481470 kwargs .setdefault ('img_size' , 256 )
482471 return _create_byoanet ('swinnet26t_256' , 'swinnet26t' , pretrained = pretrained , ** kwargs )
472+
473+
474+ @register_model
475+ def swinnet50ts_256 (pretrained = False , ** kwargs ):
476+ """
477+ """
478+ kwargs .setdefault ('img_size' , 256 )
479+ return _create_byoanet ('swinnet50ts_256' , 'swinnet50ts' , pretrained = pretrained , ** kwargs )
0 commit comments