def build_model_three_modules(num_filters): input_shape_img = deep_utils.get_rgb_input_shape(IMG_ROWS, IMG_COLUMNS) #num_filters = 32 inputs = Input(shape=input_shape_img) x = Conv2D(num_filters, kernel_size=(3, 3), activation='relu')(inputs) x_prime = resnet_module_full_preactivation(x, num_filters) x = keras.layers.add([x, x_prime]) x_prime = resnet_module_full_preactivation(x, num_filters) x = keras.layers.add([x, x_prime]) x_prime = resnet_module_full_preactivation(x, num_filters) x = keras.layers.add([x, x_prime]) y = GlobalAveragePooling2D()(x) #y = Flatten()(x) outputs = Dense(NUM_CLASSES, activation='softmax')(y) model = Model(inputs=inputs, outputs=outputs) model.compile(loss='categorical_crossentropy', optimizer=Adam(), metrics=['accuracy']) model_name = create_name("resnet_three_modules", num_filters) return (model, model_name)
def build_model_one_module_3x3(dense_units): input_shape_img = deep_utils.get_rgb_input_shape(IMG_ROWS, IMG_COLUMNS) block1_units = 48 kernel_shape = (3, 3) model = Sequential() model.add( Conv2D(block1_units, kernel_size=kernel_shape, activation='relu', input_shape=input_shape_img, name='input_layer')) model.add( Conv2D(block1_units, kernel_size=kernel_shape, activation='relu', padding='same')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(dense_units, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(NUM_CLASSES, activation='softmax', name='logits_layer')) model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.Adam(), metrics=['accuracy']) model_name = "vgg_one_module_3x3_dense{}".format(dense_units) return (model, model_name)
def build_model_one_module(n_filters): input_shape_img = deep_utils.get_rgb_input_shape(IMG_ROWS, IMG_COLUMNS) inputs = Input(input_shape_img) x = Conv2D(64, (3, 3), activation='relu', padding='same')(inputs) x = inception_module(x, n_filters=n_filters) x = Flatten()(x) x = Dropout(0.5)(x) predictions = Dense(2, activation='softmax')(x) model = Model(input=inputs, output=predictions) model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.Adam(), metrics=['accuracy']) model_name = "inception_one_module_" + str(n_filters) + "filters" return (model, model_name)