keras 多层lstm_tensorflow-如何在keras中堆叠多个lstm?
@DanielAdiwardana的答案的詳細(xì)說明。我們需要為除最后一層之外的所有LSTM層添加return_sequences = True。
將此標(biāo)志設(shè)置為True可讓Keras知道LSTM輸出應(yīng)包含所有歷史生成的輸出以及時(shí)間戳(3D)。 因此,下一個(gè)LSTM層可以進(jìn)一步處理數(shù)據(jù)。
如果此標(biāo)志為假,則LSTM僅返回最后一個(gè)輸出(2D)。 這樣的輸出對(duì)于另一個(gè)LSTM層來說還不夠好。
# expected input data shape: (batch_size, timesteps, data_dim)
model = Sequential()
model.add(LSTM(32, return_sequences=True,
input_shape=(timesteps, data_dim))) # returns a sequence of vectors of dimension 32
model.add(LSTM(32, return_sequences=True)) # returns a sequence of vectors of dimension 32
model.add(LSTM(32)) # return a single vector of dimension 32
model.add(Dense(10, activation='softmax'))
在側(cè)面注意:::添加了最后一個(gè)密集層,以獲取用戶所需格式的輸出。 這里的Dense(10)表示將使用softmax激活生成10個(gè)不同的類輸出。
如果您將LSTM用于時(shí)間序列,則應(yīng)具有Dense(1)。 因此只給出一個(gè)數(shù)字輸出。
總結(jié)
以上是生活随笔為你收集整理的keras 多层lstm_tensorflow-如何在keras中堆叠多个lstm?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “至哉炼玉人”下一句是什么
- 下一篇: batchplot插件用法_Batchp