Стек двух слоев LSTM в несоответствии размеров Keras - PullRequest
0 голосов
/ 13 января 2019

Я хочу создать нейронную сеть 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)

1 Ответ

0 голосов
/ 13 января 2019

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

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

...