Python keras中LSTM自动编码器中间层输出的实现

Python keras中LSTM自动编码器中间层输出的实现,python,tensorflow,keras,lstm,Python,Tensorflow,Keras,Lstm,我有一个多层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

我有一个多层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错误告诉我,图形断开连接是合理的。

感谢@mahsa monavari和@Frogato的回答

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]

感谢@mahsa monavari和@Frogato的回答

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]

你看到这个了吗?“也许能帮你。”弗罗加托解决了!非常感谢。@MatinShokri请不要将答案添加到您的问题中,请单击“回答您的问题”,发布答案,然后“接受”您自己的答案。您看到了吗?“也许能帮你。”弗罗加托解决了!非常感谢。@MatinShokri请不要将答案添加到您的问题中,请单击“回答您的问题”,发布答案,然后“接受”您自己的答案。