def mnasnet_small(pretrained=False, **kwargs):
    """ MNASNet Small,  depth multiplier of 1.0. """
    model = _gen_mnasnet_small(1.0, **kwargs)
    if pretrained:
        model.load_state_dict(
            load_state_dict_from_url(model_urls['mnasnet_small']))
    return model
def spnasnet_100(pretrained=False, **kwargs):
    """ Single-Path NAS Pixel1"""
    model = _gen_spnasnet(1.0, **kwargs)
    if pretrained:
        model.load_state_dict(
            load_state_dict_from_url(model_urls['spnasnet_100']))
    return model
def mnasnet_140(pretrained=False, **kwargs):
    """ MNASNet B1,  depth multiplier of 1.4 """
    model = _gen_mnasnet_b1(1.4, **kwargs)
    if pretrained:
        model.load_state_dict(
            load_state_dict_from_url(model_urls['mnasnet_140']))
    return model
def semnasnet_140(pretrained=False, **kwargs):
    """ MNASNet A1 (w/ SE), depth multiplier of 1.4. """
    model = _gen_mnasnet_a1(1.4, **kwargs)
    if pretrained:
        model.load_state_dict(
            load_state_dict_from_url(model_urls['semnasnet_140']))
    return model
def mnasnet_075(pretrained=False, **kwargs):
    """ MNASNet B1, depth multiplier of 0.75. """
    model = _gen_mnasnet_b1(0.75, **kwargs)
    if pretrained:
        model.load_state_dict(
            load_state_dict_from_url(model_urls['mnasnet_075']))
    return model
def tf_efficientnet_b3(pretrained=False, **kwargs):
    """ EfficientNet-B3. Tensorflow compatible variant """
    kwargs['bn_eps'] = _BN_EPS_TF_DEFAULT
    kwargs['padding_same'] = True
    model = _gen_efficientnet(channel_multiplier=1.2, depth_multiplier=1.4, **kwargs)
    if pretrained:
        model.load_state_dict(load_state_dict_from_url(model_urls['tf_efficientnet_b3']))
    return model
def tflite_semnasnet_100(pretrained=False, **kwargs):
    """ MNASNet A1, depth multiplier of 1.0. """
    # these two args are for compat with tflite pretrained weights
    kwargs['folded_bn'] = True
    kwargs['padding_same'] = True
    model = _gen_mnasnet_a1(1.0, **kwargs)
    if pretrained:
        model.load_state_dict(load_state_dict_from_url(model_urls['tflite_semnasnet_100']))
    return model
def fbnetc_100(pretrained=False, **kwargs):
    """ FBNet-C """
    if pretrained:
        # pretrained model trained with non-default BN epsilon
        kwargs['bn_eps'] = 1e-3
    model = _gen_fbnetc(1.0, **kwargs)
    if pretrained:
        model.load_state_dict(
            load_state_dict_from_url(model_urls['fbnetc_100']))
    return model
def mobilenetv3_100(num_classes, in_chans=3, pretrained=False, **kwargs):
    """ MobileNet V3 """
    model = _gen_mobilenet_v3(1.0,
                              num_classes=num_classes,
                              in_chans=in_chans,
                              **kwargs)
    if pretrained:
        model.load_state_dict(
            load_state_dict_from_url(model_urls['mobilenetv3_100']))
    return model
def efficientnet_b0(pretrained=False, **kwargs):
    """ EfficientNet-B0 model

    Args:
        pretrained (bool): If True, returns a model pre-trained on ImageNet-1K
    """
    model = _gen_efficientnet(channel_multiplier=1.0, depth_multiplier=1.0, **kwargs)
    if pretrained:
        model.load_state_dict(load_state_dict_from_url(model_urls['efficientnet_b0']))
    return model
def mobilenetv3_100(pretrained=False, **kwargs):
    """ Constructs a MobileNet-V3 100 (depth_multiplier == 1.0) model

    Args:
        pretrained (bool): If True, returns a model pre-trained on ImageNet-1K
    """
    if pretrained and 'bn_eps' not in kwargs:
        # pretrained model trained with non-default BN epsilon
        kwargs['bn_eps'] = _BN_EPS_TF_DEFAULT
    model = _gen_mobilenet_v3(1.0, **kwargs)
    if pretrained:
        model.load_state_dict(load_state_dict_from_url(model_urls['mobilenetv3_100']))
    return model