维在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