我使用了2个LSTM具有致密层的多层堆栈,这向我显示了一个错误。
这是我的代码:
model.add(LSTM(5, batch_input_shape=(batch_size, X.shape[1], X.shape[2]), stateful=True))
model.add(Dropout(0.2))
model.add(LSTM(5,return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(units=1))
model.add(Activation('relu'))
batch_input_shape=(1,1,4)
它向我显示以下错误:
ValueError: Input 0 is incompatible with layer lstm_57: expected ndim=3, found ndim=2
答案 0 :(得分:0)
您的第二个LSTM接受形状为[batch_size, time_steps, features]
的输入。第一个LSTM产生形状为[batch_size, output_units]
的输出,因为参数return_sequences
默认为False
。
您需要在第一个LSTM中显式设置return_sequences = True
,以使两个循环层兼容。