我有一个使用Keras与 Conv2D 一起使用的模型,但是我想添加一个LSTM 层。这是我正在使用的数据:
我没有LSTM的模型是:
inputs = Input(name='input',shape=(334,35,1))
layer = Conv2D(64, kernel_size=3,activation='relu',data_format='channels_last')(inputs)
layer = Flatten()(layer)
predictions = Dense(5, activation='softmax')(layer)
network = Model(inputs=inputs, outputs=predictions)
network.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
在Dense层之前添加LSTM层的正确方法是什么?
我尝试使用TimeDistributed或Reshape / Permute,但是我总是遇到错误。
答案 0 :(得分:0)
您的问题似乎与我昨天提出的问题类似。答案可以在这里找到:Keras functional API: Combine CNN model with a RNN to to look at sequences of images
答案 1 :(得分:0)
deKeijzer用户解释的方法起作用。我找到了解决问题的另一种方法。它是在最后一个Conv2D层之后使用Reshape层(通过(334,35)进行重塑),然后添加LSTM层。