コード例 #1
0
def resnet50(pretrained=False, progress=True, **kwargs):
    """Constructs a ResNet-50 model.

    Args:
        pretrained (bool): If True, returns a model pre-trained on ImageNet
        progress (bool): If True, displays a progress bar of the download to stderr
    """
    model = _resnet('resnet50', Bottleneck, [3, 4, 6, 3], progress=progress, pretrained=False, **kwargs)
    if pretrained:
        model = load_and_modify_pretrained_num_classes(model, model_urls['resnet50'], kwargs['num_classes'])
    return model
コード例 #2
0
def seatt_resnet50(pretrained=True, **kwargs):
    model = SeAtt(SEResNetBottleneck,
                  layers=[3, 4, 6, 3],
                  att_layers=[1, 2, 5],
                  groups=1,
                  reduction=16,
                  dropout_p=None,
                  inplanes=64,
                  input_3x3=False,
                  downsample_kernel_size=1,
                  downsample_padding=0)
    if pretrained:
        model = load_and_modify_pretrained_num_classes(
            model, model_urls['seatt_resnet50'], kwargs['num_classes'])
    return model
コード例 #3
0
def seatt154(pretrained=True, **kwargs):
    model = SeAtt(block=SEBottleneck,
                  layers=[3, 8, 36, 3],
                  att_layers=[1, 2, 5],
                  groups=64,
                  reduction=16,
                  dropout_p=0.2,
                  inplanes=128,
                  input_3x3=True,
                  downsample_kernel_size=3,
                  downsample_padding=1)
    if pretrained:
        model = load_and_modify_pretrained_num_classes(model,
                                                       model_urls['se154'],
                                                       kwargs['num_classes'])
    return model
コード例 #4
0
def seatt_resnext50_base(pretrained=True, **kwargs):
    """
    The difference with `seatt_resnext50_32x4d` is the number of attention module layer
    """
    model = SeAtt(block=SEResNeXtBottleneck,
                  layers=[3, 4, 6, 3],
                  att_layers=[1, 1, 1],
                  groups=32,
                  reduction=16,
                  dropout_p=None,
                  inplanes=64,
                  input_3x3=False,
                  downsample_kernel_size=1,
                  downsample_padding=0)
    if pretrained:
        model = load_and_modify_pretrained_num_classes(
            model, model_urls['se_resnext50_32x4d'], kwargs['num_classes'])
    return model
コード例 #5
0
def resnext50_32x4d(pretrained=True, progress=True, **kwargs):
    model = _resnet('resnext50_32x4d', Bottleneck, [3, 4, 6, 3], groups=32, width_per_group=4,
                    pretrained=pretrained, progress=progress)
    if pretrained:
        model = load_and_modify_pretrained_num_classes(model, model_urls['resnext50_32x4d'], kwargs['num_classes'])
    return model