Keras拟合方法给出了期望的dense_1具有2个维度,但得到了具有形状的数组(196353,1)



我使用以下Keras模型:

# Create Model
self.model = Sequential()
self.model.add(LSTM(50, return_sequences=True, input_shape=(features_set.shape[1], features_set.shape[2])))
self.model.add(Dropout(0.2))
self.model.add(LSTM(50, return_sequences=True))
self.model.add(Dropout(0.2))
self.model.add(LSTM(50))
self.model.add(Dropout(0.2))
self.model.add(Dense(1))
self.model.compile(optimizer = 'adam', loss = 'mean_squared_error')

features_set.shape196,353,4,而labels.shape196,353,1

然而,当在以下时间之后调用时:

self.model.fit(features_set, labels, epochs = 1, batch_size = 1)
self.model.reset_states()

我得到错误:

期望dense_1具有2个维度,但得到了形状为(196353,1(的数组

最后一个LSTM没有返回序列,那么这里发生了什么?我看不出我做错了什么。

错误的模型构建,密集输出为(196,1(,您正在拟合标签.shape(196353,1(

试试这个

# Create Model
self.model = Sequential()
self.model.add(LSTM(50, return_sequences=True, input_shape=(features_set.shape[1], features_set.shape[2])))
self.model.add(Dropout(0.2))
self.model.add(LSTM(50, return_sequences=True))
self.model.add(Dropout(0.2))
self.model.add(LSTM(50, return_sequences=True))
self.model.add(Dropout(0.2))
self.model.add(Dense(1))
self.model.compile(optimizer = 'adam', loss = 'mean_squared_error')

最新更新