def build_model(nb_filters=32, nb_pool=2, nb_conv=3):
C_1 = 64
C_2 = 32
C_3 = 16
c = Convolution2D(C_1, nb_conv, nb_conv, border_mode='same', input_shape=(3, 32, 32))
mp = MaxPooling2D(pool_size=(nb_pool, nb_pool))
c2 = Convolution2D(C_2, nb_conv, nb_conv, border_mode='same', input_shape=(3, 32, 32))
mp2 = MaxPooling2D(pool_size=(nb_pool, nb_pool))
d = Dense(100)
encoder = get_encoder(c, c2, d, mp, mp2)
decoder = get_decoder(C_1, C_2, C_3, c, c2, d, mp, mp2, nb_pool)
graph = Graph()
graph.add_input(name='input', input_shape=(3, 32, 32))
graph.add_node(encoder, name='encoder', input='input')
graph.add_node(decoder, name='decoder', input='encoder')
graph.add_output(name='autoencoder_feedback', input='decoder')
graph.compile('rmsprop', {'autoencoder_feedback': 'mean_squared_error'})
return graph
评论列表
文章目录