Стек двух слоев LSTM в несоответствии размеров Keras

1

Я хочу создать нейронную сеть LSTM с использованием Keras, которая получает в качестве входных данных некоторую длину из четырех объектов и прогнозирует 10 следующих значений. И я не могу установить правильные входные размеры. X_train - это массив формы (34,5,4) (повторные наблюдения, последовательность наблюдений, особенности) y_train - это массив формы (34,10). Я не могу удовлетворить требуемые размеры.

Есть идеи, что я делаю не так?

X_train = X_train.reshape((X_train.shape[0], X_train.shape[1], 4))
model.add(LSTM(30, dropout=0.2, batch_size=window_size))
model.add(LSTM(10, activation=None))
model.compile(optimizer='adam',loss='mse')
model.fit(X_train,y_train,epochs= epochs,validation_split=0.2,shuffle=True)
  • 0
    Нав, если это решит вашу проблему, пожалуйста, примите это
Теги:
tensorflow
keras
lstm
recurrent-neural-network

1 ответ

1

Если вы укладываете два слоя lstm, вам нужно использовать return_sequence для первого слоя, которые возвращают выходные данные для каждого временного шага, которые будут подаваться во второй слой lstm.

Вот объясненный пример, с помощью которого вы можете решить свою проблему.

  • 0
    Я установил return_sequence в предыдущей версии того, что у меня есть (это не сработало по другим причинам), но для текущей версии это была недостающая головоломка. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню