Прогнозирование с середины модели Keras - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь разработать авто-кодер для сжатия изображений с помощью Keras.Я смог тренировать его и сжимать изображения, но я борюсь с частью декодера.В частности, учитывая сжатое изображение, я не знаю, как использовать модель для его распаковки.

Вот что у меня есть:

    input_layer = keras.layers.Input(shape=(64, 64, 3))
    code_layer = build_encoder(input_layer, size_of_code)  # add some convolution layers and max-pooling
    output_layer = build_decoder(code_layer)  # add some convolution layers and up-sampling

    autoencoder_model = keras.models.Model(input_layer, output_layer)
    encoder_model = keras.models.Model(input_layer, code_layer)
    decoder_model = ??
    autoencoder_model.compile(optimizer='adam', loss='binary_crossentropy')

, используя приведенный выше код, я могуобучите autoencoder_model и сожмите изображения, используя encoder_model, но я не знаю, как построить decoder_model, главным образом потому, что я не знаю, как вставить новый ввод в середину модели.

1 Ответ

2 голосов
/ 24 марта 2019

Вот так. Вместо code_layer необходимо определить входной слой и построить модель декодера с этим входом.

latent_inputs = keras.layers.Input(shape=(size_of_code))
output_layer = build_decoder(latent_inputs)  # add some convolution layers and up-sampling
decoder_model = keras.models.Model(latent_inputs, output_layer)

Вы можете сослаться на этот полный пример VAE:

https://github.com/keras-team/keras/blob/master/examples/variational_autoencoder.py

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...