Skip to content

Commit 3ba6b55

Browse files
committed
More adjustments to ByoaNet models for further experiments.
1 parent f480734 commit 3ba6b55

File tree

1 file changed

+40
-43
lines changed

1 file changed

+40
-43
lines changed

timm/models/byoanet.py

Lines changed: 40 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,18 @@ def _cfg(url='', **kwargs):
4646
default_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

Comments
 (0)