def create_vgg16_model(input_shape): base_model = vgg16(input_shape, include_top=False) x = Flatten()(base_model.output) x = Dense(512, activation="relu")(x) x = Dropout(0.5)(x) predictions = Dense(1, activation="sigmoid")(x) model_name = "vgg16_full_fc512_fc1_aug_reduce_lr" return model_name, Model(base_model.input, predictions)
def create_vgg16_model(input_shape): base_model = vgg16(input_shape, include_top=False) block4_layer = base_model.get_layer("block4_pool") x = Flatten()(block4_layer.output) x = Dense(512, activation="relu")(x) x = Dropout(0.5)(x) predictions = Dense(1, activation="sigmoid")(x) model_name = "vgg16_block4_pool_fc512_fc1_aug" return model_name, Model(base_model.input, predictions)
def create_vgg16_model(input_shape): base_model = vgg16(input_shape, include_top=False, batch_normalization=False) x = Flatten()(base_model.output) x = Dense(512, activation="relu")(x) predictions = Dense(1, activation="sigmoid")(x) model_name = "vgg16_full_fc512_fc1_baseline" return model_name, Model(base_model.input, predictions)
def create_vgg16_model(input_shape): base_model = vgg16(input_shape, weights="imagenet", include_top=False) for layer in base_model.layers: layer.trainable = False x = Flatten()(base_model.output) x = Dense(512, activation="relu")(x) x = Dropout(0.5)(x) predictions = Dense(1, activation="sigmoid")(x) model_name = "vgg16_pretrained_full_fc512_fc1_aug_reduce_lr" return model_name, Model(base_model.input, predictions)
def create_vgg16_model(input_shape, layer_index=15): base_model = vgg16(input_shape, include_top=False, batch_normalization=False) for layer in base_model.layers[:layer_index]: layer.trainable = False for layer in base_model.layers[layer_index:]: layer.trainable = True x = Flatten()(base_model.output) l2 = 0.01 predictions = Dense(1, activation="sigmoid", kernel_regularizer=regularizers.l2(l2))(x) model_name = "vgg16_full_fc1_aug_frozen_rms_prop_l2_{}".format(l2) return model_name, Model(base_model.input, predictions)
def create_vgg16_model(input_shape, layer_index=15): base_model = vgg16(input_shape, include_top=False, batch_normalization=False) for layer in base_model.layers[:layer_index]: layer.trainable = False for layer in base_model.layers[layer_index:]: layer.trainable = True x = Flatten()(base_model.output) predictions = Dense(2, activation="softmax")(x) model_name = "vgg16_full_fc1_aug_frozen_{}_softmax".format(layer_index) return model_name, Model(base_model.input, predictions)
def create_vgg16_model(input_shape, layer_index=15): base_model = vgg16(input_shape, include_top=False, batch_normalization=True) for layer in base_model.layers[:layer_index]: layer.trainable = True for layer in base_model.layers[layer_index:]: layer.trainable = True x = Flatten()(base_model.output) x = Dense(512, activation="relu")(x) x = Dropout(0.5)(x) x = Dense(512, activation="relu")(x) x = Dropout(0.5)(x) predictions = Dense(1, activation="sigmoid")(x) model_name = "vgg16_full_fc512_fc512_fc1_aug_frozen_sgd" return model_name, Model(base_model.input, predictions)