mirror of
https://github.com/huggingface/pytorch-image-models.git
synced 2025-06-03 15:01:08 +08:00
More consistency in model arg/kwarg merge handling
This commit is contained in:
parent
3370053e71
commit
dfaab97d20
@ -648,41 +648,35 @@ default_cfgs = generate_default_cfgs({
|
||||
|
||||
@register_model
|
||||
def davit_tiny(pretrained=False, **kwargs) -> DaVit:
|
||||
model_kwargs = dict(
|
||||
depths=(1, 1, 3, 1), embed_dims=(96, 192, 384, 768), num_heads=(3, 6, 12, 24), **kwargs)
|
||||
return _create_davit('davit_tiny', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(1, 1, 3, 1), embed_dims=(96, 192, 384, 768), num_heads=(3, 6, 12, 24))
|
||||
return _create_davit('davit_tiny', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def davit_small(pretrained=False, **kwargs) -> DaVit:
|
||||
model_kwargs = dict(
|
||||
depths=(1, 1, 9, 1), embed_dims=(96, 192, 384, 768), num_heads=(3, 6, 12, 24), **kwargs)
|
||||
return _create_davit('davit_small', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(1, 1, 9, 1), embed_dims=(96, 192, 384, 768), num_heads=(3, 6, 12, 24))
|
||||
return _create_davit('davit_small', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def davit_base(pretrained=False, **kwargs) -> DaVit:
|
||||
model_kwargs = dict(
|
||||
depths=(1, 1, 9, 1), embed_dims=(128, 256, 512, 1024), num_heads=(4, 8, 16, 32), **kwargs)
|
||||
return _create_davit('davit_base', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(1, 1, 9, 1), embed_dims=(128, 256, 512, 1024), num_heads=(4, 8, 16, 32))
|
||||
return _create_davit('davit_base', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def davit_large(pretrained=False, **kwargs) -> DaVit:
|
||||
model_kwargs = dict(
|
||||
depths=(1, 1, 9, 1), embed_dims=(192, 384, 768, 1536), num_heads=(6, 12, 24, 48), **kwargs)
|
||||
return _create_davit('davit_large', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(1, 1, 9, 1), embed_dims=(192, 384, 768, 1536), num_heads=(6, 12, 24, 48))
|
||||
return _create_davit('davit_large', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def davit_huge(pretrained=False, **kwargs) -> DaVit:
|
||||
model_kwargs = dict(
|
||||
depths=(1, 1, 9, 1), embed_dims=(256, 512, 1024, 2048), num_heads=(8, 16, 32, 64), **kwargs)
|
||||
return _create_davit('davit_huge', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(1, 1, 9, 1), embed_dims=(256, 512, 1024, 2048), num_heads=(8, 16, 32, 64))
|
||||
return _create_davit('davit_huge', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def davit_giant(pretrained=False, **kwargs) -> DaVit:
|
||||
model_kwargs = dict(
|
||||
depths=(1, 1, 12, 3), embed_dims=(384, 768, 1536, 3072), num_heads=(12, 24, 48, 96), **kwargs)
|
||||
return _create_davit('davit_giant', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(1, 1, 12, 3), embed_dims=(384, 768, 1536, 3072), num_heads=(12, 24, 48, 96))
|
||||
return _create_davit('davit_giant', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
@ -361,8 +361,8 @@ def densenet121(pretrained=False, **kwargs) -> DenseNet:
|
||||
r"""Densenet-121 model from
|
||||
`"Densely Connected Convolutional Networks" <https://arxiv.org/pdf/1608.06993.pdf>`
|
||||
"""
|
||||
model = _create_densenet(
|
||||
'densenet121', growth_rate=32, block_config=(6, 12, 24, 16), pretrained=pretrained, **kwargs)
|
||||
model_args = dict(growth_rate=32, block_config=(6, 12, 24, 16))
|
||||
model = _create_densenet('densenet121', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
return model
|
||||
|
||||
|
||||
@ -371,9 +371,8 @@ def densenetblur121d(pretrained=False, **kwargs) -> DenseNet:
|
||||
r"""Densenet-121 w/ blur-pooling & 3-layer 3x3 stem
|
||||
`"Densely Connected Convolutional Networks" <https://arxiv.org/pdf/1608.06993.pdf>`
|
||||
"""
|
||||
model = _create_densenet(
|
||||
'densenetblur121d', growth_rate=32, block_config=(6, 12, 24, 16), pretrained=pretrained,
|
||||
stem_type='deep', aa_layer=BlurPool2d, **kwargs)
|
||||
model_args = dict(growth_rate=32, block_config=(6, 12, 24, 16), stem_type='deep', aa_layer=BlurPool2d)
|
||||
model = _create_densenet('densenetblur121d', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
return model
|
||||
|
||||
|
||||
@ -382,8 +381,8 @@ def densenet169(pretrained=False, **kwargs) -> DenseNet:
|
||||
r"""Densenet-169 model from
|
||||
`"Densely Connected Convolutional Networks" <https://arxiv.org/pdf/1608.06993.pdf>`
|
||||
"""
|
||||
model = _create_densenet(
|
||||
'densenet169', growth_rate=32, block_config=(6, 12, 32, 32), pretrained=pretrained, **kwargs)
|
||||
model_args = dict(growth_rate=32, block_config=(6, 12, 32, 32))
|
||||
model = _create_densenet('densenet169', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
return model
|
||||
|
||||
|
||||
@ -392,8 +391,8 @@ def densenet201(pretrained=False, **kwargs) -> DenseNet:
|
||||
r"""Densenet-201 model from
|
||||
`"Densely Connected Convolutional Networks" <https://arxiv.org/pdf/1608.06993.pdf>`
|
||||
"""
|
||||
model = _create_densenet(
|
||||
'densenet201', growth_rate=32, block_config=(6, 12, 48, 32), pretrained=pretrained, **kwargs)
|
||||
model_args = dict(growth_rate=32, block_config=(6, 12, 48, 32))
|
||||
model = _create_densenet('densenet201', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
return model
|
||||
|
||||
|
||||
@ -402,8 +401,8 @@ def densenet161(pretrained=False, **kwargs) -> DenseNet:
|
||||
r"""Densenet-161 model from
|
||||
`"Densely Connected Convolutional Networks" <https://arxiv.org/pdf/1608.06993.pdf>`
|
||||
"""
|
||||
model = _create_densenet(
|
||||
'densenet161', growth_rate=48, block_config=(6, 12, 36, 24), pretrained=pretrained, **kwargs)
|
||||
model_args = dict(growth_rate=48, block_config=(6, 12, 36, 24))
|
||||
model = _create_densenet('densenet161', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
return model
|
||||
|
||||
|
||||
@ -412,7 +411,7 @@ def densenet264d(pretrained=False, **kwargs) -> DenseNet:
|
||||
r"""Densenet-264 model from
|
||||
`"Densely Connected Convolutional Networks" <https://arxiv.org/pdf/1608.06993.pdf>`
|
||||
"""
|
||||
model = _create_densenet(
|
||||
'densenet264d', growth_rate=48, block_config=(6, 12, 64, 48), stem_type='deep', pretrained=pretrained, **kwargs)
|
||||
model_args = dict(growth_rate=48, block_config=(6, 12, 64, 48), stem_type='deep')
|
||||
model = _create_densenet('densenet264d', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
return model
|
||||
|
||||
|
@ -317,55 +317,55 @@ default_cfgs = generate_default_cfgs({
|
||||
|
||||
@register_model
|
||||
def dpn48b(pretrained=False, **kwargs) -> DPN:
|
||||
model_kwargs = dict(
|
||||
model_args = dict(
|
||||
small=True, num_init_features=10, k_r=128, groups=32,
|
||||
b=True, k_sec=(3, 4, 6, 3), inc_sec=(16, 32, 32, 64), act_layer='silu')
|
||||
return _create_dpn('dpn48b', pretrained=pretrained, **dict(model_kwargs, **kwargs))
|
||||
return _create_dpn('dpn48b', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def dpn68(pretrained=False, **kwargs) -> DPN:
|
||||
model_kwargs = dict(
|
||||
model_args = dict(
|
||||
small=True, num_init_features=10, k_r=128, groups=32,
|
||||
k_sec=(3, 4, 12, 3), inc_sec=(16, 32, 32, 64))
|
||||
return _create_dpn('dpn68', pretrained=pretrained, **dict(model_kwargs, **kwargs))
|
||||
return _create_dpn('dpn68', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def dpn68b(pretrained=False, **kwargs) -> DPN:
|
||||
model_kwargs = dict(
|
||||
model_args = dict(
|
||||
small=True, num_init_features=10, k_r=128, groups=32,
|
||||
b=True, k_sec=(3, 4, 12, 3), inc_sec=(16, 32, 32, 64))
|
||||
return _create_dpn('dpn68b', pretrained=pretrained, **dict(model_kwargs, **kwargs))
|
||||
return _create_dpn('dpn68b', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def dpn92(pretrained=False, **kwargs) -> DPN:
|
||||
model_kwargs = dict(
|
||||
model_args = dict(
|
||||
num_init_features=64, k_r=96, groups=32,
|
||||
k_sec=(3, 4, 20, 3), inc_sec=(16, 32, 24, 128))
|
||||
return _create_dpn('dpn92', pretrained=pretrained, **dict(model_kwargs, **kwargs))
|
||||
return _create_dpn('dpn92', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def dpn98(pretrained=False, **kwargs) -> DPN:
|
||||
model_kwargs = dict(
|
||||
model_args = dict(
|
||||
num_init_features=96, k_r=160, groups=40,
|
||||
k_sec=(3, 6, 20, 3), inc_sec=(16, 32, 32, 128))
|
||||
return _create_dpn('dpn98', pretrained=pretrained, **dict(model_kwargs, **kwargs))
|
||||
return _create_dpn('dpn98', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def dpn131(pretrained=False, **kwargs) -> DPN:
|
||||
model_kwargs = dict(
|
||||
model_args = dict(
|
||||
num_init_features=128, k_r=160, groups=40,
|
||||
k_sec=(4, 8, 28, 3), inc_sec=(16, 32, 32, 128))
|
||||
return _create_dpn('dpn131', pretrained=pretrained, **dict(model_kwargs, **kwargs))
|
||||
return _create_dpn('dpn131', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def dpn107(pretrained=False, **kwargs) -> DPN:
|
||||
model_kwargs = dict(
|
||||
model_args = dict(
|
||||
num_init_features=128, k_r=200, groups=50,
|
||||
k_sec=(4, 8, 20, 3), inc_sec=(20, 64, 64, 128))
|
||||
return _create_dpn('dpn107', pretrained=pretrained, **dict(model_kwargs, **kwargs))
|
||||
return _create_dpn('dpn107', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
@ -528,8 +528,8 @@ def edgenext_xx_small(pretrained=False, **kwargs) -> EdgeNeXt:
|
||||
# No AA, Color Jitter=0.4, No Mixup & Cutmix, DropPath=0.0, BS=4096, lr=0.006, multi-scale-sampler
|
||||
# Jetson FPS=51.66 versus 47.67 for MobileViT_XXS
|
||||
# For A100: FPS @ BS=1: 212.13 & @ BS=256: 7042.06 versus FPS @ BS=1: 96.68 & @ BS=256: 4624.71 for MobileViT_XXS
|
||||
model_kwargs = dict(depths=(2, 2, 6, 2), dims=(24, 48, 88, 168), heads=(4, 4, 4, 4), **kwargs)
|
||||
return _create_edgenext('edgenext_xx_small', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(2, 2, 6, 2), dims=(24, 48, 88, 168), heads=(4, 4, 4, 4))
|
||||
return _create_edgenext('edgenext_xx_small', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
@ -539,8 +539,8 @@ def edgenext_x_small(pretrained=False, **kwargs) -> EdgeNeXt:
|
||||
# No AA, No Mixup & Cutmix, DropPath=0.0, BS=4096, lr=0.006, multi-scale-sampler
|
||||
# Jetson FPS=31.61 versus 28.49 for MobileViT_XS
|
||||
# For A100: FPS @ BS=1: 179.55 & @ BS=256: 4404.95 versus FPS @ BS=1: 94.55 & @ BS=256: 2361.53 for MobileViT_XS
|
||||
model_kwargs = dict(depths=(3, 3, 9, 3), dims=(32, 64, 100, 192), heads=(4, 4, 4, 4), **kwargs)
|
||||
return _create_edgenext('edgenext_x_small', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(3, 3, 9, 3), dims=(32, 64, 100, 192), heads=(4, 4, 4, 4))
|
||||
return _create_edgenext('edgenext_x_small', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
@ -550,8 +550,8 @@ def edgenext_small(pretrained=False, **kwargs) -> EdgeNeXt:
|
||||
# AA=True, No Mixup & Cutmix, DropPath=0.1, BS=4096, lr=0.006, multi-scale-sampler
|
||||
# Jetson FPS=20.47 versus 18.86 for MobileViT_S
|
||||
# For A100: FPS @ BS=1: 172.33 & @ BS=256: 3010.25 versus FPS @ BS=1: 93.84 & @ BS=256: 1785.92 for MobileViT_S
|
||||
model_kwargs = dict(depths=(3, 3, 9, 3), dims=(48, 96, 160, 304), **kwargs)
|
||||
return _create_edgenext('edgenext_small', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=(3, 3, 9, 3), dims=(48, 96, 160, 304))
|
||||
return _create_edgenext('edgenext_small', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
@ -561,14 +561,14 @@ def edgenext_base(pretrained=False, **kwargs) -> EdgeNeXt:
|
||||
# AA=True, Mixup & Cutmix, DropPath=0.1, BS=4096, lr=0.006, multi-scale-sampler
|
||||
# Jetson FPS=xx.xx versus xx.xx for MobileViT_S
|
||||
# For A100: FPS @ BS=1: xxx.xx & @ BS=256: xxxx.xx
|
||||
model_kwargs = dict(depths=[3, 3, 9, 3], dims=[80, 160, 288, 584], **kwargs)
|
||||
return _create_edgenext('edgenext_base', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(depths=[3, 3, 9, 3], dims=[80, 160, 288, 584])
|
||||
return _create_edgenext('edgenext_base', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def edgenext_small_rw(pretrained=False, **kwargs) -> EdgeNeXt:
|
||||
model_kwargs = dict(
|
||||
model_args = dict(
|
||||
depths=(3, 3, 9, 3), dims=(48, 96, 192, 384),
|
||||
downsample_block=True, conv_bias=False, stem_type='overlap', **kwargs)
|
||||
return _create_edgenext('edgenext_small_rw', pretrained=pretrained, **model_kwargs)
|
||||
downsample_block=True, conv_bias=False, stem_type='overlap')
|
||||
return _create_edgenext('edgenext_small_rw', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
@ -1539,7 +1539,7 @@ def fbnetc_100(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" FBNet-C """
|
||||
if pretrained:
|
||||
# pretrained model trained with non-default BN epsilon
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
model = _gen_fbnetc('fbnetc_100', 1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -1802,8 +1802,8 @@ def efficientnet_lite4(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def efficientnet_b1_pruned(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B1 Pruned. The pruning has been obtained using https://arxiv.org/pdf/2002.08258.pdf """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
variant = 'efficientnet_b1_pruned'
|
||||
model = _gen_efficientnet(
|
||||
variant, channel_multiplier=1.0, depth_multiplier=1.1, pruned=True, pretrained=pretrained, **kwargs)
|
||||
@ -1813,8 +1813,8 @@ def efficientnet_b1_pruned(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def efficientnet_b2_pruned(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B2 Pruned. The pruning has been obtained using https://arxiv.org/pdf/2002.08258.pdf """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'efficientnet_b2_pruned', channel_multiplier=1.1, depth_multiplier=1.2, pruned=True,
|
||||
pretrained=pretrained, **kwargs)
|
||||
@ -1824,8 +1824,8 @@ def efficientnet_b2_pruned(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def efficientnet_b3_pruned(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B3 Pruned. The pruning has been obtained using https://arxiv.org/pdf/2002.08258.pdf """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'efficientnet_b3_pruned', channel_multiplier=1.2, depth_multiplier=1.4, pruned=True,
|
||||
pretrained=pretrained, **kwargs)
|
||||
@ -1900,8 +1900,8 @@ def efficientnetv2_xl(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_b0(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B0. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b0', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1910,8 +1910,8 @@ def tf_efficientnet_b0(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_b1(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B1. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b1', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1920,8 +1920,8 @@ def tf_efficientnet_b1(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_b2(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B2. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b2', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1930,8 +1930,8 @@ def tf_efficientnet_b2(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_b3(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B3. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b3', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1940,8 +1940,8 @@ def tf_efficientnet_b3(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_b4(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B4. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b4', channel_multiplier=1.4, depth_multiplier=1.8, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1950,8 +1950,8 @@ def tf_efficientnet_b4(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_b5(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B5. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b5', channel_multiplier=1.6, depth_multiplier=2.2, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1961,8 +1961,8 @@ def tf_efficientnet_b5(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_b6(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B6. Tensorflow compatible variant """
|
||||
# NOTE for train, drop_rate should be 0.5
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b6', channel_multiplier=1.8, depth_multiplier=2.6, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1972,8 +1972,8 @@ def tf_efficientnet_b6(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_b7(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B7. Tensorflow compatible variant """
|
||||
# NOTE for train, drop_rate should be 0.5
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b7', channel_multiplier=2.0, depth_multiplier=3.1, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1983,8 +1983,8 @@ def tf_efficientnet_b7(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_b8(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-B8. Tensorflow compatible variant """
|
||||
# NOTE for train, drop_rate should be 0.5
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_b8', channel_multiplier=2.2, depth_multiplier=3.6, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -1994,8 +1994,8 @@ def tf_efficientnet_b8(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_l2(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-L2 NoisyStudent. Tensorflow compatible variant """
|
||||
# NOTE for train, drop_rate should be 0.5
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet(
|
||||
'tf_efficientnet_l2', channel_multiplier=4.3, depth_multiplier=5.3, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2004,8 +2004,8 @@ def tf_efficientnet_l2(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_es(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-Edge Small. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_edge(
|
||||
'tf_efficientnet_es', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2014,8 +2014,8 @@ def tf_efficientnet_es(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_em(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-Edge-Medium. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_edge(
|
||||
'tf_efficientnet_em', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2024,8 +2024,8 @@ def tf_efficientnet_em(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnet_el(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-Edge-Large. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_edge(
|
||||
'tf_efficientnet_el', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2035,8 +2035,8 @@ def tf_efficientnet_el(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_cc_b0_4e(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-CondConv-B0 w/ 4 Experts. Tensorflow compatible variant """
|
||||
# NOTE for train, drop_rate should be 0.2, drop_path_rate should be 0.2
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_condconv(
|
||||
'tf_efficientnet_cc_b0_4e', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2046,8 +2046,8 @@ def tf_efficientnet_cc_b0_4e(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_cc_b0_8e(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-CondConv-B0 w/ 8 Experts. Tensorflow compatible variant """
|
||||
# NOTE for train, drop_rate should be 0.2, drop_path_rate should be 0.2
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_condconv(
|
||||
'tf_efficientnet_cc_b0_8e', channel_multiplier=1.0, depth_multiplier=1.0, experts_multiplier=2,
|
||||
pretrained=pretrained, **kwargs)
|
||||
@ -2058,8 +2058,8 @@ def tf_efficientnet_cc_b0_8e(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_cc_b1_8e(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-CondConv-B1 w/ 8 Experts. Tensorflow compatible variant """
|
||||
# NOTE for train, drop_rate should be 0.2, drop_path_rate should be 0.2
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_condconv(
|
||||
'tf_efficientnet_cc_b1_8e', channel_multiplier=1.0, depth_multiplier=1.1, experts_multiplier=2,
|
||||
pretrained=pretrained, **kwargs)
|
||||
@ -2070,8 +2070,8 @@ def tf_efficientnet_cc_b1_8e(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_lite0(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-Lite0 """
|
||||
# NOTE for train, drop_rate should be 0.2, drop_path_rate should be 0.2
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_lite(
|
||||
'tf_efficientnet_lite0', channel_multiplier=1.0, depth_multiplier=1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2081,8 +2081,8 @@ def tf_efficientnet_lite0(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_lite1(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-Lite1 """
|
||||
# NOTE for train, drop_rate should be 0.2, drop_path_rate should be 0.2
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_lite(
|
||||
'tf_efficientnet_lite1', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2092,8 +2092,8 @@ def tf_efficientnet_lite1(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_lite2(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-Lite2 """
|
||||
# NOTE for train, drop_rate should be 0.3, drop_path_rate should be 0.2
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_lite(
|
||||
'tf_efficientnet_lite2', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2103,8 +2103,8 @@ def tf_efficientnet_lite2(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_lite3(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-Lite3 """
|
||||
# NOTE for train, drop_rate should be 0.3, drop_path_rate should be 0.2
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_lite(
|
||||
'tf_efficientnet_lite3', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2114,8 +2114,8 @@ def tf_efficientnet_lite3(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnet_lite4(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-Lite4 """
|
||||
# NOTE for train, drop_rate should be 0.4, drop_path_rate should be 0.2
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnet_lite(
|
||||
'tf_efficientnet_lite4', channel_multiplier=1.4, depth_multiplier=1.8, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2124,8 +2124,8 @@ def tf_efficientnet_lite4(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnetv2_s(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-V2 Small. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnetv2_s('tf_efficientnetv2_s', pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -2133,8 +2133,8 @@ def tf_efficientnetv2_s(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnetv2_m(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-V2 Medium. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnetv2_m('tf_efficientnetv2_m', pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -2142,8 +2142,8 @@ def tf_efficientnetv2_m(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnetv2_l(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-V2 Large. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnetv2_l('tf_efficientnetv2_l', pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -2152,8 +2152,8 @@ def tf_efficientnetv2_l(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_efficientnetv2_xl(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-V2 Xtra-Large. Tensorflow compatible variant
|
||||
"""
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnetv2_xl('tf_efficientnetv2_xl', pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -2161,8 +2161,8 @@ def tf_efficientnetv2_xl(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnetv2_b0(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-V2-B0. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnetv2_base('tf_efficientnetv2_b0', pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -2170,8 +2170,8 @@ def tf_efficientnetv2_b0(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnetv2_b1(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-V2-B1. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnetv2_base(
|
||||
'tf_efficientnetv2_b1', channel_multiplier=1.0, depth_multiplier=1.1, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2180,8 +2180,8 @@ def tf_efficientnetv2_b1(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnetv2_b2(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-V2-B2. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnetv2_base(
|
||||
'tf_efficientnetv2_b2', channel_multiplier=1.1, depth_multiplier=1.2, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2190,8 +2190,8 @@ def tf_efficientnetv2_b2(pretrained=False, **kwargs) -> EfficientNet:
|
||||
@register_model
|
||||
def tf_efficientnetv2_b3(pretrained=False, **kwargs) -> EfficientNet:
|
||||
""" EfficientNet-V2-B3. Tensorflow compatible variant """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_efficientnetv2_base(
|
||||
'tf_efficientnetv2_b3', channel_multiplier=1.2, depth_multiplier=1.4, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2248,8 +2248,8 @@ def mixnet_xxl(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_mixnet_s(pretrained=False, **kwargs) -> EfficientNet:
|
||||
"""Creates a MixNet Small model. Tensorflow compatible variant
|
||||
"""
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mixnet_s(
|
||||
'tf_mixnet_s', channel_multiplier=1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2259,8 +2259,8 @@ def tf_mixnet_s(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_mixnet_m(pretrained=False, **kwargs) -> EfficientNet:
|
||||
"""Creates a MixNet Medium model. Tensorflow compatible variant
|
||||
"""
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mixnet_m(
|
||||
'tf_mixnet_m', channel_multiplier=1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
@ -2270,8 +2270,8 @@ def tf_mixnet_m(pretrained=False, **kwargs) -> EfficientNet:
|
||||
def tf_mixnet_l(pretrained=False, **kwargs) -> EfficientNet:
|
||||
"""Creates a MixNet Large model. Tensorflow compatible variant
|
||||
"""
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mixnet_m(
|
||||
'tf_mixnet_l', channel_multiplier=1.3, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
@ -723,9 +723,7 @@ def mobilenetv3_small_100(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
@register_model
|
||||
def mobilenetv3_rw(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
""" MobileNet V3 """
|
||||
if pretrained:
|
||||
# pretrained model trained with non-default BN epsilon
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
model = _gen_mobilenet_v3_rw('mobilenetv3_rw', 1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -733,8 +731,8 @@ def mobilenetv3_rw(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
@register_model
|
||||
def tf_mobilenetv3_large_075(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
""" MobileNet V3 """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mobilenet_v3('tf_mobilenetv3_large_075', 0.75, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -742,8 +740,8 @@ def tf_mobilenetv3_large_075(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
@register_model
|
||||
def tf_mobilenetv3_large_100(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
""" MobileNet V3 """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mobilenet_v3('tf_mobilenetv3_large_100', 1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -751,8 +749,8 @@ def tf_mobilenetv3_large_100(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
@register_model
|
||||
def tf_mobilenetv3_large_minimal_100(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
""" MobileNet V3 """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mobilenet_v3('tf_mobilenetv3_large_minimal_100', 1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -760,8 +758,8 @@ def tf_mobilenetv3_large_minimal_100(pretrained: bool = False, **kwargs) -> Mobi
|
||||
@register_model
|
||||
def tf_mobilenetv3_small_075(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
""" MobileNet V3 """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mobilenet_v3('tf_mobilenetv3_small_075', 0.75, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -769,8 +767,8 @@ def tf_mobilenetv3_small_075(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
@register_model
|
||||
def tf_mobilenetv3_small_100(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
""" MobileNet V3 """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mobilenet_v3('tf_mobilenetv3_small_100', 1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
@ -778,8 +776,8 @@ def tf_mobilenetv3_small_100(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
@register_model
|
||||
def tf_mobilenetv3_small_minimal_100(pretrained: bool = False, **kwargs) -> MobileNetV3:
|
||||
""" MobileNet V3 """
|
||||
kwargs['bn_eps'] = BN_EPS_TF_DEFAULT
|
||||
kwargs['pad_type'] = 'same'
|
||||
kwargs.setdefault('bn_eps', BN_EPS_TF_DEFAULT)
|
||||
kwargs.setdefault('pad_type', 'same')
|
||||
model = _gen_mobilenet_v3('tf_mobilenetv3_small_minimal_100', 1.0, pretrained=pretrained, **kwargs)
|
||||
return model
|
||||
|
||||
|
@ -1317,7 +1317,7 @@ def resnet26d(pretrained: bool = False, **kwargs) -> ResNet:
|
||||
def resnet50(pretrained: bool = False, **kwargs) -> ResNet:
|
||||
"""Constructs a ResNet-50 model.
|
||||
"""
|
||||
model_args = dict(block=Bottleneck, layers=[3, 4, 6, 3], **kwargs)
|
||||
model_args = dict(block=Bottleneck, layers=[3, 4, 6, 3])
|
||||
return _create_resnet('resnet50', pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@ -1460,8 +1460,8 @@ def wide_resnet101_2(pretrained: bool = False, **kwargs) -> ResNet:
|
||||
def resnet50_gn(pretrained: bool = False, **kwargs) -> ResNet:
|
||||
"""Constructs a ResNet-50 model w/ GroupNorm
|
||||
"""
|
||||
model_args = dict(block=Bottleneck, layers=[3, 4, 6, 3], **kwargs)
|
||||
return _create_resnet('resnet50_gn', pretrained, norm_layer=GroupNorm, **model_args)
|
||||
model_args = dict(block=Bottleneck, layers=[3, 4, 6, 3], norm_layer='groupnorm')
|
||||
return _create_resnet('resnet50_gn', pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
|
@ -325,26 +325,26 @@ default_cfgs = generate_default_cfgs({
|
||||
|
||||
@register_model
|
||||
def tresnet_m(pretrained=False, **kwargs) -> TResNet:
|
||||
model_kwargs = dict(layers=[3, 4, 11, 3], **kwargs)
|
||||
return _create_tresnet('tresnet_m', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(layers=[3, 4, 11, 3])
|
||||
return _create_tresnet('tresnet_m', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def tresnet_l(pretrained=False, **kwargs) -> TResNet:
|
||||
model_kwargs = dict(layers=[4, 5, 18, 3], width_factor=1.2, **kwargs)
|
||||
return _create_tresnet('tresnet_l', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(layers=[4, 5, 18, 3], width_factor=1.2)
|
||||
return _create_tresnet('tresnet_l', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def tresnet_xl(pretrained=False, **kwargs) -> TResNet:
|
||||
model_kwargs = dict(layers=[4, 5, 24, 3], width_factor=1.3, **kwargs)
|
||||
return _create_tresnet('tresnet_xl', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(layers=[4, 5, 24, 3], width_factor=1.3)
|
||||
return _create_tresnet('tresnet_xl', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
def tresnet_v2_l(pretrained=False, **kwargs) -> TResNet:
|
||||
model_kwargs = dict(layers=[3, 4, 23, 3], width_factor=1.0, v2=True, **kwargs)
|
||||
return _create_tresnet('tresnet_v2_l', pretrained=pretrained, **model_kwargs)
|
||||
model_args = dict(layers=[3, 4, 23, 3], width_factor=1.0, v2=True)
|
||||
return _create_tresnet('tresnet_v2_l', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
register_model_deprecations(__name__, {
|
||||
|
@ -334,8 +334,8 @@ def xception41(pretrained=False, **kwargs) -> XceptionAligned:
|
||||
dict(in_chs=728, out_chs=(728, 1024, 1024), stride=2),
|
||||
dict(in_chs=1024, out_chs=(1536, 1536, 2048), stride=1, no_skip=True, start_with_relu=False),
|
||||
]
|
||||
model_args = dict(block_cfg=block_cfg, norm_layer=partial(nn.BatchNorm2d, eps=.001, momentum=.1), **kwargs)
|
||||
return _xception('xception41', pretrained=pretrained, **model_args)
|
||||
model_args = dict(block_cfg=block_cfg, norm_layer=partial(nn.BatchNorm2d, eps=.001, momentum=.1))
|
||||
return _xception('xception41', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
@ -353,8 +353,8 @@ def xception65(pretrained=False, **kwargs) -> XceptionAligned:
|
||||
dict(in_chs=728, out_chs=(728, 1024, 1024), stride=2),
|
||||
dict(in_chs=1024, out_chs=(1536, 1536, 2048), stride=1, no_skip=True, start_with_relu=False),
|
||||
]
|
||||
model_args = dict(block_cfg=block_cfg, norm_layer=partial(nn.BatchNorm2d, eps=.001, momentum=.1), **kwargs)
|
||||
return _xception('xception65', pretrained=pretrained, **model_args)
|
||||
model_args = dict(block_cfg=block_cfg, norm_layer=partial(nn.BatchNorm2d, eps=.001, momentum=.1))
|
||||
return _xception('xception65', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
@ -374,8 +374,8 @@ def xception71(pretrained=False, **kwargs) -> XceptionAligned:
|
||||
dict(in_chs=728, out_chs=(728, 1024, 1024), stride=2),
|
||||
dict(in_chs=1024, out_chs=(1536, 1536, 2048), stride=1, no_skip=True, start_with_relu=False),
|
||||
]
|
||||
model_args = dict(block_cfg=block_cfg, norm_layer=partial(nn.BatchNorm2d, eps=.001, momentum=.1), **kwargs)
|
||||
return _xception('xception71', pretrained=pretrained, **model_args)
|
||||
model_args = dict(block_cfg=block_cfg, norm_layer=partial(nn.BatchNorm2d, eps=.001, momentum=.1))
|
||||
return _xception('xception71', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
@ -393,8 +393,8 @@ def xception41p(pretrained=False, **kwargs) -> XceptionAligned:
|
||||
dict(in_chs=728, out_chs=(728, 1024, 1024), stride=2),
|
||||
dict(in_chs=1024, out_chs=(1536, 1536, 2048), no_skip=True, stride=1),
|
||||
]
|
||||
model_args = dict(block_cfg=block_cfg, preact=True, norm_layer=nn.BatchNorm2d, **kwargs)
|
||||
return _xception('xception41p', pretrained=pretrained, **model_args)
|
||||
model_args = dict(block_cfg=block_cfg, preact=True, norm_layer=nn.BatchNorm2d)
|
||||
return _xception('xception41p', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
||||
|
||||
@register_model
|
||||
@ -413,5 +413,5 @@ def xception65p(pretrained=False, **kwargs) -> XceptionAligned:
|
||||
dict(in_chs=1024, out_chs=(1536, 1536, 2048), stride=1, no_skip=True),
|
||||
]
|
||||
model_args = dict(
|
||||
block_cfg=block_cfg, preact=True, norm_layer=partial(nn.BatchNorm2d, eps=.001, momentum=.1), **kwargs)
|
||||
return _xception('xception65p', pretrained=pretrained, **model_args)
|
||||
block_cfg=block_cfg, preact=True, norm_layer=partial(nn.BatchNorm2d, eps=.001, momentum=.1))
|
||||
return _xception('xception65p', pretrained=pretrained, **dict(model_args, **kwargs))
|
||||
|
Loading…
x
Reference in New Issue
Block a user