Как использовать слои Conv2D и LSTM с Keras? - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть модель, которая работает с Conv2D с использованием Keras, но я бы хотел добавить слой LSTM .Вот данные, которые я использую:

  • x_train с формой (13984, 334, 35, 1 )
  • y_train с формой (13984, 5 )

Моя модель без 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'])

Что такое правильный способ добавления слоя LSTM непосредственно перед плотным слоем?

Я пытался использовать TimeDistributed или Reshape / Permute, но всегда получаю ошибки.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Способ, описанный пользователем deKeijzer, работает.Я нашел другой способ решить проблему.Он должен использовать слой Reshape (изменение формы (334,35)) сразу после последнего слоя Conv2D, а затем добавить слои LSTM.

0 голосов
/ 27 ноября 2018

Кажется, ваш вопрос похож на тот, который у меня был вчера.Ответ можно найти здесь: Функциональный API Keras: объединить модель CNN с RNN, чтобы посмотреть последовательности изображений

...