def define_model(image_shape):
img_input = Input(shape=image_shape)
x = Convolution2D(32, 3, 3, subsample=(1, 1), border_mode='same')(img_input)
x = res_block(x, nb_filters=32, block=0, subsample_factor=1)
x = res_block(x, nb_filters=32, block=0, subsample_factor=1)
x = res_block(x, nb_filters=32, block=0, subsample_factor=1)
x = res_block(x, nb_filters=64, block=1, subsample_factor=2)
x = res_block(x, nb_filters=64, block=1, subsample_factor=1)
x = res_block(x, nb_filters=64, block=1, subsample_factor=1)
x = res_block(x, nb_filters=128, block=2, subsample_factor=2)
x = res_block(x, nb_filters=128, block=2, subsample_factor=1)
x = res_block(x, nb_filters=128, block=2, subsample_factor=1)
x = res_block(x, nb_filters=128, block=2, subsample_factor=1)
x = res_block(x, nb_filters=256, block=3, subsample_factor=2)
x = res_block(x, nb_filters=256, block=3, subsample_factor=1)
x = res_block(x, nb_filters=256, block=3, subsample_factor=1)
x = res_block(x, nb_filters=256, block=3, subsample_factor=1)
x = res_block(x, nb_filters=512, block=4, subsample_factor=2)
x = res_block(x, nb_filters=512, block=4, subsample_factor=1)
x = res_block(x, nb_filters=512, block=4, subsample_factor=1)
x = res_block(x, nb_filters=512, block=4, subsample_factor=1)
x = BatchNormalization(axis=3)(x)
x = Activation('relu')(x)
x = AveragePooling2D(pool_size=(3, 3), strides=(2, 2), border_mode='valid')(x)
x = Flatten()(x)
x = Dense(1, activation='sigmoid', name='predictions')(x)
model = Model(img_input, x)
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy', 'precision', 'recall', 'fmeasure'])
model.summary()
return model
评论列表
文章目录