@@ -45,15 +45,16 @@ def _cfg(url='', **kwargs):
4545
4646default_cfgs = {
4747 # GPU-Efficient (ResNet) weights
48+ 'botnet26t_256' : _cfg (url = '' , fixed_input_size = True , input_size = (3 , 256 , 256 )),
4849 'botnet50t_224' : _cfg (url = '' , fixed_input_size = True ),
4950 'botnet50t_c4c5_224' : _cfg (url = '' , fixed_input_size = True ),
5051
5152 'halonet_h1' : _cfg (url = '' , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 ), min_input_size = (3 , 256 , 256 )),
5253 'halonet_h1_c4c5' : _cfg (url = '' , input_size = (3 , 256 , 256 ), pool_size = (8 , 8 ), min_input_size = (3 , 256 , 256 )),
53- 'halonet26t' : _cfg (url = '' ),
54+ 'halonet26t' : _cfg (url = '' , input_size = ( 3 , 256 , 256 ) ),
5455 'halonet50t' : _cfg (url = '' ),
5556
56- 'lambda_resnet26t' : _cfg (url = '' , min_input_size = (3 , 128 , 128 )),
57+ 'lambda_resnet26t' : _cfg (url = '' , min_input_size = (3 , 128 , 128 ), input_size = ( 3 , 256 , 256 ) ),
5758 'lambda_resnet50t' : _cfg (url = '' , min_input_size = (3 , 128 , 128 )),
5859}
5960
@@ -92,6 +93,21 @@ def interleave_attn(
9293
9394model_cfgs = dict (
9495
96+ botnet26t = ByoaCfg (
97+ blocks = (
98+ ByoaBlocksCfg (type = 'bottle' , d = 3 , c = 256 , s = 2 , gs = 0 , br = 0.25 ),
99+ ByoaBlocksCfg (type = 'bottle' , d = 4 , c = 512 , s = 2 , gs = 0 , br = 0.25 ),
100+ interleave_attn (types = ('bottle' , 'self_attn' ), every = 1 , d = 2 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
101+ ByoaBlocksCfg (type = 'self_attn' , d = 3 , c = 2048 , s = 1 , gs = 0 , br = 0.25 ),
102+ ),
103+ stem_chs = 64 ,
104+ stem_type = 'tiered' ,
105+ stem_pool = 'maxpool' ,
106+ num_features = 0 ,
107+ self_attn_layer = 'bottleneck' ,
108+ self_attn_fixed_size = True ,
109+ self_attn_kwargs = dict ()
110+ ),
95111 botnet50t = ByoaCfg (
96112 blocks = (
97113 ByoaBlocksCfg (type = 'bottle' , d = 3 , c = 256 , s = 2 , gs = 0 , br = 0.25 ),
@@ -161,15 +177,15 @@ def interleave_attn(
161177 blocks = (
162178 ByoaBlocksCfg (type = 'bottle' , d = 2 , c = 256 , s = 1 , gs = 0 , br = 0.25 ),
163179 ByoaBlocksCfg (type = 'bottle' , d = 2 , c = 512 , s = 2 , gs = 0 , br = 0.25 ),
164- ByoaBlocksCfg ( type = 'bottle' , d = 2 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
180+ interleave_attn ( types = ( 'bottle' , 'self_attn' ), every = 1 , d = 2 , c = 1024 , s = 2 , gs = 0 , br = 0.25 ),
165181 ByoaBlocksCfg (type = 'self_attn' , d = 2 , c = 2048 , s = 2 , gs = 0 , br = 0.25 ),
166182 ),
167183 stem_chs = 64 ,
168184 stem_type = 'tiered' ,
169185 stem_pool = 'maxpool' ,
170186 num_features = 0 ,
171187 self_attn_layer = 'halo' ,
172- self_attn_kwargs = dict (block_size = 7 , halo_size = 2 )
188+ self_attn_kwargs = dict (block_size = 8 , halo_size = 2 ) # intended for 256x256 res
173189 ),
174190 halonet50t = ByoaCfg (
175191 blocks = (
@@ -370,6 +386,14 @@ def _create_byoanet(variant, cfg_variant=None, pretrained=False, **kwargs):
370386 ** kwargs )
371387
372388
389+ @register_model
390+ def botnet26t_256 (pretrained = False , ** kwargs ):
391+ """ Bottleneck Transformer w/ ResNet26-T backbone. Bottleneck attn in final stage.
392+ """
393+ kwargs .setdefault ('img_size' , 256 )
394+ return _create_byoanet ('botnet26t_256' , 'botnet26t' , pretrained = pretrained , ** kwargs )
395+
396+
373397@register_model
374398def botnet50t_224 (pretrained = False , ** kwargs ):
375399 """ Bottleneck Transformer w/ ResNet50-T backbone. Bottleneck attn in final stage.
0 commit comments