簡體   English   中英

如何在 keras 的 LSTM 自動編碼器中獲取中間層的輸出

[英]How to get output of middel layers in LSTM autoencoder in keras

我有一個具有以下特征的多層 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 返回錯誤給我說圖形斷開連接是合理的。

感謝@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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM