Модель Keras LSTM - PullRequest
       6

Модель Keras LSTM

0 голосов
/ 09 февраля 2020

Я не могу найти практическое руководство по структурированию данных для использования с keras LSTM.

Данные

x_train = 7300 строк, где каждый вектор имеет длину 64.

y_train = массив из 7300 элементов либо 0, либо 1 (класс).

модель

model = Sequential()
model.add(LSTM(200, dropout=0.2, recurrent_dropout=0.2, input_shape = (1, 64)))
model.add(Dense(2, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

model.fit(x_train, y_train,
               epochs = 5,
               batch_size = 32,
               validation_split = 0.1,
               callbacks=[EarlyStopping(monitor='val_loss', patience=3, min_delta=0.0001)])

Мой вопрос прост: почему это не работает? Почему это не так просто, как дать 2d массив векторов и аналогичные значения длины y, чтобы соответствовать.

1 Ответ

1 голос
/ 10 февраля 2020

Keras LSTM ожидает ввода формы [batch_size, timesteps, features]. Ваши данные имеют форму [batch_size, features].

Чтобы добавить измерение timestep (где число временных шагов равно 1), выполните следующие действия:

x_train = np.expand_dims(x_train, axis=1)
...