Python keras中LSTM模型的维数
比如,这是培训和测试数据:Python keras中LSTM模型的维数,python,keras,lstm,Python,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_crossen
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
据我所知,我不必定义输出层(密集层)的输入形状,所以为什么会发生这种情况?问题是Y矩阵是三维的,而它应该是二维的。根据网络设置,Y矩阵应为形状(5,52)。尽管如此,您也可以将
return\u sequesnce=True
添加到lstm
层,网络将按原样运行。另外,请注意,如果您有52个可能的类别,您的损失函数应该是categorical\u crossentropy