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)