Skip to content

Commit de9dff9

Browse files
committed
EfficientNet-V2S preliminary model def (for experimentation)
1 parent d5ed58d commit de9dff9

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

timm/models/efficientnet.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ def _cfg(url='', **kwargs):
154154
url='https://imvl-automl-sh.oss-cn-shanghai.aliyuncs.com/darts/hyperml/hyperml/job_45403/outputs/effnetb3_pruned_5abcc29f.pth',
155155
input_size=(3, 300, 300), pool_size=(10, 10), crop_pct=0.904, mean=IMAGENET_INCEPTION_MEAN, std=IMAGENET_INCEPTION_STD),
156156

157+
'efficientnet_v2s': _cfg(
158+
url='', input_size=(3, 224, 224), test_size=(3, 300, 300), pool_size=(7, 7)), # FIXME WIP
159+
157160
'tf_efficientnet_b0': _cfg(
158161
url='https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b0_aa-827b6e33.pth',
159162
input_size=(3, 224, 224)),
@@ -819,6 +822,37 @@ def _gen_efficientnet_lite(variant, channel_multiplier=1.0, depth_multiplier=1.0
819822
return model
820823

821824

825+
def _gen_efficientnet_v2s(variant, channel_multiplier=1.0, depth_multiplier=1.0, pretrained=False, **kwargs):
826+
""" Creates an EfficientNet-V2s model
827+
828+
NOTE: this is a preliminary definition based on paper, awaiting official code release for details
829+
and weights
830+
831+
Ref impl:
832+
Paper: https://arxiv.org/abs/2104.00298
833+
"""
834+
835+
arch_def = [
836+
['er_r2_k3_s1_e1_c24_noskip'],
837+
['er_r4_k3_s2_e4_c48'],
838+
['er_r4_k3_s2_e4_c64'],
839+
['ir_r6_k3_s2_e4_c128_se0.25'],
840+
['ir_r9_k3_s1_e6_c160_se0.25'],
841+
['ir_r15_k3_s2_e6_c272_se0.25'],
842+
]
843+
model_kwargs = dict(
844+
block_args=decode_arch_def(arch_def, depth_multiplier),
845+
num_features=round_channels(1792, channel_multiplier, 8, None),
846+
stem_size=24,
847+
channel_multiplier=channel_multiplier,
848+
norm_kwargs=resolve_bn_args(kwargs),
849+
act_layer=resolve_act_layer(kwargs, 'silu'),
850+
**kwargs,
851+
)
852+
model = _create_effnet(variant, pretrained, **model_kwargs)
853+
return model
854+
855+
822856
def _gen_mixnet_s(variant, channel_multiplier=1.0, pretrained=False, **kwargs):
823857
"""Creates a MixNet Small model.
824858
@@ -1258,6 +1292,15 @@ def efficientnet_b3_pruned(pretrained=False, **kwargs):
12581292
return model
12591293

12601294

1295+
@register_model
1296+
def efficientnet_v2s(pretrained=False, **kwargs):
1297+
""" EfficientNet-V2 Small. """
1298+
model = _gen_efficientnet_v2s(
1299+
'efficientnet_v2s', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
1300+
return model
1301+
1302+
1303+
12611304
@register_model
12621305
def tf_efficientnet_b0(pretrained=False, **kwargs):
12631306
""" EfficientNet-B0. Tensorflow compatible variant """

0 commit comments

Comments
 (0)