예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)