在Keras中连接LSTM的输出

问题描述 投票:0回答:2

我打算将时间步的所有输出从LSTM提供给完全连接的层。但是,以下代码失败。如何通过连接时间步的每个输出来将LSTM的3D输出降低到2D?

X = LSTM(units=128,return_sequences=True)(input_sequence)
X = Dropout(rate=0.5)(X)
X = LSTM(units=128,return_sequences=True)(X)
X = Dropout(rate=0.5)(X)
X = Concatenate()(X)
X = Dense(n_class)(X)
X = Activation('softmax')(X)
keras nlp deep-learning lstm recurrent-neural-network
2个回答
1
投票

您可以使用Flatten图层将LSTM图层的3D输出展平为2D形状。

作为旁注,最好使用dropoutrecurrent_dropoutLSTM layer参数,而不是直接使用Dropout层和复发层。


0
投票

除了@todays回答:似乎你想使用return_sequences将它连接成一个密集的层。如果您还没有尝试使用return_sequeunces = False,我建议您这样做。 return_sequences的主要目的是堆叠LSTMS或进行seq2seq预测。在您的情况下,只需使用LSTM即可。

© www.soinside.com 2019 - 2024. All rights reserved.