维在keras LSTM模型

问题描述:

说,这是训练和测试数据:维在keras LSTM模型

X_matrix.shape = (5, 115318, 4) ; Y_matrix.shape = (5, 115318, 51) 

,我用的LSTM模式是:

model = Sequential() 
model.add(LSTM(128, dropout=0.2, recurrent_dropout=0.2)) 
model.add(Dense(51, activation='softmax')) 
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 
然而

,当我运行的模式,它事实证明:

Dense layer expected 2 dimensions but gotten 3 

据我所知,我没有定义输出层(致密层)的input_shape,所以为什么出现这种情况?

问题是你的Y矩阵是三维的,当它应该是二维的。基于网络设置,您的Y矩阵应该是形状(5,52)。虽然,您也可以将return_sequesnce=True添加到lstm图层,网络将按原样运行。另外,如果您有52种可能的类别,请注意您的损失函数应该是categorical_crossentropy