コード例 #1
0
def build_backbone(args):
    Norm = args.norm
    backbone = args.backbone
    output_stride = args.out_stride

    if Norm == "gn":
        norm = gn
    elif Norm == "bn":
        norm = bn
    elif Norm == "syncbn":
        norm = syncbn
    else:
        print(Norm, " <= normalization is not implemented")

    if backbone == "resnet":
        return resnet.ResNet101(output_stride, norm)
        # return resnet.ResNet50(output_stride, norm)
    elif backbone == "resnet152":
        return resnet.ResNet152(output_stride, norm)
    elif backbone == "wider_resnet":
        return wider_resnet.WiderResNet38(output_stride, norm, dec, abn)
    elif backbone == "xception":
        return xception.AlignedXception(output_stride, norm)
    elif backbone == "drn":
        return drn.drn_d_38(norm)
    elif backbone == "ibn":
        return ibnnet.resnet101_ibn_a(output_stride, norm)
    elif backbone == "mobilenet":
        return mobilenet.MobileNetV2(output_stride, norm)
    elif backbone.split("-")[0] == "efficientnet":
        return efficientnet.from_pretrained(model_name=backbone,
                                            Norm=Norm,
                                            FPN=args.model == "fpn")
    else:
        raise NotImplementedError
コード例 #2
0
def build_backbone(args):
    Norm = args.norm
    backbone = args.backbone
    output_stride = args.out_stride

    if Norm == 'gn': norm = gn
    elif Norm == 'bn': norm = bn
    elif Norm == 'syncbn': norm = syncbn
    else:
        print(Norm, " <= normalization is not implemented")

    if backbone == 'resnet':
        return resnet.ResNet101(output_stride, norm)
    elif backbone == 'resnet152':
        return resnet.ResNet152(output_stride, norm)
    elif backbone == 'wider_resnet':
        return wider_resnet.WiderResNet38(output_stride, norm, dec, abn)
    elif backbone == 'xception':
        return xception.AlignedXception(output_stride, norm)
    elif backbone == 'drn':
        return drn.drn_d_38(norm)
    elif backbone == 'ibn':
        return ibnnet.resnet101_ibn_a(output_stride, norm)
    elif backbone == 'mobilenet':
        return mobilenet.MobileNetV2(output_stride, norm)
    elif backbone.split('-')[0] == 'efficientnet':
        return efficientnet.from_pretrained(model_name=backbone,
                                            Norm=Norm,
                                            FPN=args.model == 'fpn')
    else:
        raise NotImplementedError
コード例 #3
0
def build_backbone(backbone, output_stride, BatchNorm):
    if backbone == 'resnet':
        return resnet.ResNet101(output_stride, BatchNorm)
    elif backbone == 'drn':
        return drn.drn_d_54(BatchNorm)
    elif backbone == 'mobilenet':
        return mobilenet.MobileNetV2(output_stride, BatchNorm)
    else:
        raise NotImplementedError
コード例 #4
0
def build_backbone(backbone, output_stride, BatchNorm,pretrained=True):
    if backbone == 'resnet':
        return resnet.ResNet101(output_stride, BatchNorm,pretrained=pretrained)
    elif backbone == 'xception':
        return xception.AlignedXception(output_stride, BatchNorm)
    elif backbone == 'drn':
        return drn.drn_d_54(BatchNorm)
    elif backbone == 'mobilenet':
        return mobilenet.MobileNetV2(output_stride, BatchNorm)
    else:
        raise NotImplementedError
コード例 #5
0
def build_backbone(backbone, output_stride, BatchNorm):
    if backbone == "resnet":
        return resnet.ResNet101(output_stride, BatchNorm)
    elif backbone == "xception":
        return xception.AlignedXception(output_stride, BatchNorm)
    elif backbone == "drn":
        return drn.drn_d_54(BatchNorm)
    elif backbone == "mobilenet":
        return mobilenet.MobileNetV2(output_stride, BatchNorm)
    else:
        raise NotImplementedError
コード例 #6
0
def build_backbone(backbone, output_stride, BatchNorm, args):
    if backbone == 'resnet':
        return resnet.ResNet101(output_stride, BatchNorm)
    elif backbone == 'xception':
        return xception.AlignedXception(output_stride, BatchNorm)
    elif backbone == 'drn':
        return drn.drn_d_54(BatchNorm)
    elif backbone == 'mobilenet':
        return mobilenet.MobileNetV2(output_stride, BatchNorm)
    elif backbone == 'autodeeplab':
        return get_default_net(filter_multiplier=args.filter_multiplier)
    else:
        raise NotImplementedError
コード例 #7
0
def build_backbone(backbone, output_stride, BatchNorm):
    if backbone == 'resnet':
        return resnet.ResNet101(output_stride, BatchNorm)
    elif backbone == 'xception':
        return xception.AlignedXception(output_stride, BatchNorm)
    elif backbone == 'drn':
        return drn.drn_d_54(BatchNorm)
    elif backbone == 'mobilenet':
        return mobilenet.MobileNetV2(output_stride, BatchNorm)
    elif backbone == 'mobilenetv3':
        return mobilenetv3.MobileNetV3_Small()
    elif backbone == 'shufflenet':
        return shufflenetv2.ShuffleNetV2()
    else:
        raise NotImplementedError
コード例 #8
0
ファイル: __init__.py プロジェクト: UESTC-Liuxin/SkmtSeg
def build_backbone(backbone, output_stride, BatchNorm, num_classes):
    if backbone == 'resnet50':
        return resnet.resnet50(output_stride, BatchNorm, num_classes)
    elif backbone == 'resnet101':
        return resnet.resnet101(output_stride, BatchNorm, num_classes)
    elif backbone == 'wide_resnet50_2':
        return resnet.wide_resnet50_2(output_stride, BatchNorm, num_classes)
    elif backbone == 'xception':
        return xception.AlignedXception(output_stride, BatchNorm)
    elif backbone == 'drn':
        return drn.drn_d_54(BatchNorm)
    elif backbone == 'mobilenet':
        return mobilenet.MobileNetV2(output_stride, BatchNorm)

    else:
        raise NotImplementedError
コード例 #9
0
def build_backbone(backbone, output_stride, BatchNorm):
    if backbone == 'resnet50' or backbone == 'resnet100':
        return resnet.ResNet101(output_stride, BatchNorm)
    elif backbone == 'seresnet50':
        return resnet.SEResNet50(output_stride, BatchNorm)
    elif backbone == 'xception':
        return xception.AlignedXception(output_stride, BatchNorm)
    elif backbone == 'drn':
        return drn.drn_d_54(BatchNorm)
    elif backbone == 'mobilenet':
        return mobilenet.MobileNetV2(output_stride, BatchNorm)
    elif backbone == 'seresnext101':
        return seresnext.se_resnext101_32x4d()
    elif backbone == 'seresnext50':
        return seresnext.se_resnext50_32x4d(BatchNorm=BatchNorm)
    else:
        raise NotImplementedError
コード例 #10
0
def build_backbone(backbone, bb_weight, output_stride, BatchNorm):
	if backbone == 'resnet101':
		model = resnet.ResNet101(output_stride, BatchNorm)
		model._load_pretrained_model(bb_weight)
		#model.load_state_dict(torch.load(bb_weight))
		return model
	elif backbone == 'resnet50':
		model = resnet.ResNet50(output_stride, BatchNorm)
		model._load_pretrained_model(bb_weight)
		return model
	elif backbone == 'xception':
		return xception.AlignedXception(output_stride, BatchNorm)
	elif backbone == 'drn':
		return drn.drn_d_54(BatchNorm)
	elif backbone == 'mobilenet':
		return mobilenet.MobileNetV2(output_stride, BatchNorm)
	else:
		raise NotImplementedError
コード例 #11
0
ファイル: __init__.py プロジェクト: zwxu064/MPLayers
def build_backbone(backbone,
                   output_stride,
                   BatchNorm,
                   enable_dff=False,
                   pretrained_path=None):
    if backbone in {'resnet50', 'resnet101'}:
        return resnet.ResNetSerial(backbone,
                                   output_stride,
                                   BatchNorm,
                                   enable_dff=enable_dff,
                                   pretrained_path=pretrained_path)
    elif backbone == 'xception':
        return xception.AlignedXception(output_stride, BatchNorm)
    elif backbone == 'drn':
        return drn.drn_d_54(BatchNorm)
    elif backbone == 'mobilenet':
        return mobilenet.MobileNetV2(output_stride, BatchNorm)
    else:
        raise NotImplementedError
コード例 #12
0
ファイル: __init__.py プロジェクト: DotWang/DFC2020
def build_backbone(backbone,in_channel,output_stride, BatchNorm, depth, pretrn):
    if backbone == 'resnet':
        if depth == 50:
            print("****************backbone is ResNet50****************")
            return resnet.ResNet50(in_channel,output_stride, BatchNorm, pretrained=pretrn)
        elif depth == 101:
            print("****************backbone is ResNet101****************")
            return resnet.ResNet101(output_stride, BatchNorm)
        elif depth == 152:
            print("****************backbone is ResNet152****************")
            return resnet.ResNet152(output_stride, BatchNorm)
        else:
            print("there no match depth resnet backbone!")
    elif backbone == 'xception':
        print("****************backbone is xception****************")
        return xception.AlignedXception(output_stride, BatchNorm)
    elif backbone == 'drn':
        print("****************backbone is drn_d_54****************")
        return drn.drn_d_54(BatchNorm)
    elif backbone == 'mobilenet':
        print("****************backbone is MobileNetV2****************")
        return mobilenet.MobileNetV2(output_stride, BatchNorm)
    elif backbone == "vgg":
        if depth == 16:
            print("****************backbone is vgg16****************")
            return vgg.vgg16(output_stride, BatchNorm)
        elif depth == 17:
            print("****************backbone is vgg16_bn****************")
            return vgg.vgg16_bn(output_stride, BatchNorm)
        elif depth == 19:
            print("****************backbone is vgg19****************")
            return vgg.vgg19(output_stride, BatchNorm)
        elif depth == 20:
            print("****************backbone is vgg19_bn****************")
            return vgg.vgg19_bn(output_stride, BatchNorm)
        else:
            print("there no match depth vgg backbone!")
    elif backbone == "densenet":
        if depth == 121:
            print("****************backbone is densenet121****************")
            return densenet.densenet121(output_stride, BatchNorm)
        elif depth == 169:
            print("****************backbone is densenet136****************")
            return densenet.densenet136(output_stride, BatchNorm)
        elif depth == 201:
            print("****************backbone is densenet201****************")
            return densenet.densenet201(output_stride, BatchNorm)
        elif depth == 161:
            print("****************backbone is densenet161****************")
            return densenet.densenet161(output_stride, BatchNorm)
        else:
            print("there no match depth densenet backbone!")
    elif backbone == "inception":
        print("****************backbone is inception_v3_google****************")
        return inception.inception_v3_google
    elif backbone == "squeezenet":
        if depth == 1:
            print("****************backbone is squeezenet1_0****************")
            return squeezenet.squeezenet1_0(output_stride, BatchNorm)
        elif depth == 2:
            print("****************backbone is squeezenet1_1****************")
            return squeezenet.squeezenet1_1(output_stride, BatchNorm)
        else:
            print("there no match depth squeezenet backbone!")
    else:
        raise NotImplementedError