Tensorflow Keras использует кодер и декодер отдельно в автоэнкодере
Я возиться с API Keras в тензорном потоке, пытаясь реализовать авто-кодер. Последовательная модель работает, но я хочу иметь возможность использовать кодер (первые два слоя) и декодер (последние два слоя) по отдельности, но с использованием весов моей уже обученной модели. Есть ли способ сделать это? Должен ли я сделать собственную модель?
model = keras.Sequential()
model.add(encoder_1)
model.add(leaky_relu)
model.add(encoder_2)
model.add(leaky_relu2)
model.add(decoder_1)
model.add(leaky_relu3)
model.add(decoder_2)
encoder_model = keras.Sequential()
encoder_model.add(encoder_1)
encoder_model.add(leaky_relu)
encoder_model.add(encoder_2)
encoder_model.add(leaky_relu2)
decoder_model = keras.Sequential()
decoder_model.add(decoder_1)
model.add(leaky_relu3)
decoder_model.add(decoder_2)
Я определяю свои модели следующим образом, но пытаюсь выполнить прогнозирование на выходах кодера или декодера.
'Sequential' object has no attribute '_feed_input_names'
1 ответ
Решение
Да, вы должны обернуть слои кодирования и декодирования в отдельные Model
случаи, которые вы называете отдельно. Блог Keras по автоэнкодерам должен содержать все, что вам нужно знать: https://blog.keras.io/building-autoencoders-in-keras.html