ValueError: Ошибка при проверке ввода: ожидалось, что lstm_1_input будет иметь 3 измерения, но получил массив с формой (321, 1) - PullRequest
0 голосов
/ 08 июля 2019

Я работаю с набором данных различных форм массива (например, 499902x16, 328942x16, 289301x16) Я тренирую его на следующей модели:

    model.add(LSTM((64),input_shape(None,16), return_sequences=True))
    model.add(LSTM((64),return_sequences=False))

    model.add(Dense(64))
    model.add(Activation('relu'))
    model.add(Dropout(0.5))
    model.add(Dense(1))
    model.add(Activation('sigmoid'))

    model.compile(loss='binary_crossentropy', optimizer='adam', metrics['accuracy'])
    model=build_model()
    model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, shuffle=False)`

Но я получаю следующую ошибку:

    Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (321, 1)

Предполагается, что форма моих тренировочных данных (321, Нет, 16), но когда я их отображаю, получаю X_train.shape (321,)

Кроме того, я не могу обнулить последовательности, так как я использовал одно горячее кодирование для генерации массивов. Что я могу сделать в этом случае?

Спасибо!

...