【发布时间】:2018-10-22 15:49:54
【问题描述】:
我正在尝试将 LSTM 与 CNN 相结合,但由于错误而卡住了。 这是我正在尝试实现的模型:
model=Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(28, 28,3), activation='relu'))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(32, activation='relu'))
model.add(LSTM(128, return_sequences=True,input_shape=(1,32), activation='relu'))
model.add(LSTM(256))
model.add(Dropout(0.25))
model.add(Dense(37))
model.compile(loss='categorical_crossentropy', optimizer='adam')
第一个 LSTM 层发生错误:
ERROR: Input 0 is incompatible with layer lstm_12: expected ndim=3, found ndim=2
【问题讨论】:
-
为了给你一个真正好的答案,我们需要从你的数据中了解“你想成为什么序列”。你在处理图像吗?你想让一个序列像一个有很多图像的电影吗?或者您是否希望将列作为序列或行......或者它可能不是图像并且数据意味着其他东西?
标签: python keras deep-learning conv-neural-network lstm