def ssd_300(input_shape=(300, 300, 3), num_classes=2, softmax=True): x = input_tensor = Input(shape=input_shape) textbox_layers = ssd_300_body(x) num_priors = 12 normalizations = [20, -1, -1, -1, -1, -1] output_tensor = multibox(textbox_layers, num_priors, num_classes, normalizations, softmax) model = Model(input_tensor, output_tensor) model.num_classes = num_classes num_maps = len(textbox_layers) model.image_size = input_shape[:2] model.textbox_layers = textbox_layers model.aspect_ratios = [[1, 2, 3, 5, 7, 10] * 2] * num_maps model.shifts = [[(0.0, -0.5)] * 6 + [(0.0, 0.5)] * 6] * num_maps model.steps = [8, 16, 32, 64, 128, 256, 512] return model