def create_segnet(architecture, input_size, n_classes, weights=None): if architecture == 'Inception3': raise Exception( 'Inception3 not supported with SegNet! Only support Full Yolo, Tiny Yolo, MobileNet, SqueezeNet, VGG16, ResNet50 at the moment!' ) elif architecture == 'SqueezeNet': model = squeezenet_segnet(n_classes, input_size, encoder_level=4, weights=weights) elif architecture == 'Full Yolo': model = full_yolo_segnet(n_classes, input_size, encoder_level=4, weights=weights) elif architecture == 'Tiny Yolo': model = tiny_yolo_segnet(n_classes, input_size, encoder_level=4, weights=weights) elif architecture == 'VGG16': model = vgg16_segnet(n_classes, input_size, encoder_level=4, weights=weights) elif architecture == 'ResNet50': model = resnet50_segnet(n_classes, input_size, encoder_level=4, weights=weights) elif 'MobileNet' in architecture: model = mobilenet_segnet(n_classes, input_size, encoder_level=4, weights=weights, architecture=architecture) output_size = (model.output_height, model.output_width) network = Segnet(model, input_size, n_classes, model.normalize, output_size) return network
def create_segnet(architecture, input_size, n_classes, weights = None): if architecture == 'NASNetMobile': model = nasnetmobile_segnet(n_classes, input_size, encoder_level=4, weights = weights) elif architecture == 'SqueezeNet': model = squeezenet_segnet(n_classes, input_size, encoder_level=4, weights = weights) elif architecture == 'Full Yolo': model = full_yolo_segnet(n_classes, input_size, encoder_level=4, weights = weights) elif architecture == 'Tiny Yolo': model = tiny_yolo_segnet(n_classes, input_size, encoder_level=4, weights = weights) elif architecture == 'DenseNet121': model = densenet121_segnet(n_classes, input_size, encoder_level=4, weights = weights) elif architecture == 'ResNet50': model = resnet50_segnet(n_classes, input_size, encoder_level=4, weights = weights) elif 'MobileNet' in architecture: model = mobilenet_segnet(n_classes, input_size, encoder_level=4, weights = weights, architecture = architecture) output_size = (model.output_height, model.output_width) network = Segnet(model, input_size, n_classes, model.normalize, output_size) return network