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

Другие вопросы по тегам