Python LSTM的输出尺寸如何与下一层的输入尺寸不同?

Python LSTM的输出尺寸如何与下一层的输入尺寸不同?,python,machine-learning,keras,lstm,keras-layer,Python,Machine Learning,Keras,Lstm,Keras Layer,我在看这个代码: model = Sequential() model.add(LSTM(input_shape = (1,), input_dim=1, output_dim=6, return_sequences=True)) model.add(LSTM(input_shape = (1,), input_dim=1, output_dim=6, return_sequences=False)) model.add(Dense(1)) model.add(Activation('linea

我在看这个代码:

model = Sequential()
model.add(LSTM(input_shape = (1,), input_dim=1, output_dim=6, return_sequences=True))
model.add(LSTM(input_shape = (1,), input_dim=1, output_dim=6, return_sequences=False))
model.add(Dense(1))
model.add(Activation('linear'))
第一层的输出为dim=6,下一层的输入为_dim=1

编辑 代码是错误的,Keras只是尽了最大努力,如实际生成的模型所示(请参见模型如何与代码不匹配):

这段代码非常混乱,不应该这样写

在顺序模型中,Keras仅考虑第一层的
输入_形状
。所有后续层都使用前一层的输出进行初始化,实际上忽略了
input\u shape
规范。源代码:。在本例中,它是
(None,None,6)

因此,模型摘要如下所示:

Layer (type)                 Output Shape              Param #   
=================================================================
lstm_1 (LSTM)                (None, None, 6)           192       
_________________________________________________________________
lstm_2 (LSTM)                (None, 6)                 312       
=================================================================
顺便说一句,keras在此
LSTM
规范上发出警告,因为
input\u dim
已被弃用:

更新对Keras 2 API的
LSTM调用:
LSTM(输入形状=(无,1),返回序列=真,单位=6)

更新您的
LSTM
呼叫 keras2api:
LSTM(输入形状=(无,1),返回序列=假,单位=6)