@k4nt

Как правильно подать данные на вход LSTM?

Здравствуйте, уважаемые.
Я категорически не могу понять, почему я не могу запустить обучение нейронной сети со слоями LSTM.
Прошу помощи у знающих людей.

Дано:
Keras. Данные в сыром виде лежат в SCV.
Данные через pandas подгружаются, перемножаются так как мне нужно, получается 2 набора данных в pandas для подачи на вход и ответов.
Как это выглядит:
Данные для загрузки (training_dataN ): 17290 строк, в каждой строке 4601 "цифр". 1 строка- 1 пример для обучения.
Данные для выхода (correct_dataN ): 17290 строк, в каждой строке 5 "цифр". 1 строка- 1 пример для обучения.

Вычитал, что нужно приобразовать в numpy массив. Делаю:
training_dataN = np.array(training_dataN)
correct_dataN = np.array(correct_dataN)

Так же вычитал, что нужен reshape:
training_dataN = training_dataN.reshape(1, 4601, 17290)
correct_dataN = correct_dataN.reshape(1, 5, 17290)

Подаю на вход:
model = Sequential()
model.add(LSTM(4601, input_shape= (4601, 17290), return_sequences = True))
Получаю ошибку, что ждёт иные данные или вид не тот.
Тыкал руками цифры туда-сда, менял местами, ставил переменные. В общем я на столько запутался, что если есть человек, который может на пальцах мне показать "это сюда, это туда по тому-то" - я буду очень рад. Спасибо.
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
@k4nt Автор вопроса
В комментариях Александр Скуснов, freeExec дали верное направление мысли: [samples, time steps, features]
В моём случае это reshape(17290, 1, 4601) и input_shape=(17290,4601) или training_dataN.reshape(training_dataN.shape[0], 1, training_dataN.shape[1])
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы