Как получить вывод промежуточных слоев в автоэнкодере LSTM в керасе - PullRequest
1 голос
/ 25 января 2020

У меня есть многослойный автоэнкодер LSTM со следующими характеристиками.

model = Sequential()
model.add(LSTM(250, dropout_U = 0.2, dropout_W = 0.2)) #L1
model.add(LSTM(150, dropout_U = 0.2, dropout_W = 0.2)) #L2
model.add(LSTM(100, dropout_U = 0.2, dropout_W = 0.2)) #L3
model.add(LSTM(150, dropout_U = 0.2, dropout_W = 0.2)) #L4
model.add(LSTM(250, dropout_U = 0.2, dropout_W = 0.2)) #L5
model.compile(optimizer='adam', loss='mse')

Просто на этапе тестирования я хочу передать данные в # L2 и получить выходные данные # L4, а затем вычислить разницу между входом и выходом этого слоя представления.

Как я могу подать данные в этом среднем слое? когда я определяю вход для слоя # L2 Keras back error мне, что граф отключен, что разумно.

1 Ответ

0 голосов
/ 27 января 2020

Спасибо @ mahsa-monavari и @frogatto за ваши ответы

from keras import backend as K

# with a Sequential model
get_3rd_layer_output = K.function([model.layers[0].input],
                                  [model.layers[3].output])
layer_output = get_3rd_layer_output([x])[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...