Python 添加第二个LSTM层时出现问题“;输入0与层lstm_2不兼容:预期ndim=3,发现ndim=2“;

Python 添加第二个LSTM层时出现问题“;输入0与层lstm_2不兼容:预期ndim=3,发现ndim=2“;,python,tensorflow,keras,scikit-learn,lstm,Python,Tensorflow,Keras,Scikit Learn,Lstm,当我尝试向模型中添加第二个LSTM层时,我收到以下错误消息:“输入0与层LSTM_2不兼容:预期ndim=3,发现ndim=2” 当return_sequences设置为True时,我也会收到相同的消息。我希望它是真的,但它只有在设置为False时才起作用。我尝试过Keras重塑,但运气不佳 任何帮助都将不胜感激,谢谢 #X是一个3D阵列,大约有1000个大小的2D阵列(n_步数,n_特征) X=X.重塑(X.形状[0],X.形状[1],n_特征)) #设置模型 模型=顺序() lstmSize

当我尝试向模型中添加第二个LSTM层时,我收到以下错误消息:“输入0与层LSTM_2不兼容:预期ndim=3,发现ndim=2”

当return_sequences设置为True时,我也会收到相同的消息。我希望它是真的,但它只有在设置为False时才起作用。我尝试过Keras重塑,但运气不佳

任何帮助都将不胜感激,谢谢

#X是一个3D阵列,大约有1000个大小的2D阵列(n_步数,n_特征)
X=X.重塑(X.形状[0],X.形状[1],n_特征))
#设置模型
模型=顺序()
lstmSize=32
辍学率=0.2
密度=1
returnSequences=False#设置为True时不起作用
添加(LSTM(lstmSize,activation='relu',return_sequences=returnSequences,input_shape=(n_步骤,n_特征)))
型号.添加(辍学(辍学))
添加(LSTM(lstmSize,activation='relu',return_sequences=returnSequences,input_shape=(n_步骤,n_特征)))#此处出错
型号.添加(辍学(辍学))
model.add(密集型(denseSize,activation='softmax'))
compile(优化器='adam',loss='mse')
model.fit(X,y,批大小=None,epochs=700,verbose=0)

当我只有1个LSTM层或返回\u sequences=False,但给出错误“输入0与层LSTM\u 2不兼容:预期的ndim=3,发现的ndim=2”时,输出工作。

您可以尝试
Input\u shape=(无,n步,n\u特征)
您不需要为第二层提供输入形状。我遵守了您的模型,没有错误。我发现,对于第一个LSTM,设置return_sequences=True,对于第二个LSTM,设置return_sequences=False有效,但是如果我将
model.add(稠密(denseSize,activation='softmax'))替换为
model.add(时间分布(密集型(denseSize,activation='softmax'))
我再次遇到同样的错误。