ValueError: Ошибка при проверке цели: ожидалось, что lstm_27 будет иметь 2 измерения, но получил массив с формой (1, 11, 1) - PullRequest
2 голосов
/ 21 мая 2019

Я пытаюсь включить простой автокодер LSTM, упомянутый на сайте keras.io, с вводом последовательности. Выдает ошибку при вводе слоя LSTM.

from keras.layers import Input, LSTM, RepeatVector
from keras.models import Model
import numpy as np

def autoencoder(timesteps,input_dim):
    inputs = Input(shape=(timesteps, input_dim))
    encoded = LSTM(300)(inputs)

    decoded = RepeatVector(timesteps)(encoded)
    decoded = LSTM(input_dim, return_sequences=True)(decoded)

    encoder = Model(inputs, encoded)
    encoder.compile(optimizer='adam',loss='mse')
    return encoder

sequence = np.array([522,76,2,35,387,13,121,144,98,33,400]).reshape((1,11,1))
model = autoencoder(11,1)
model.fit(sequence,sequence,epochs=100,batch_size=4,verbose=1)

Ошибка:

ValueError: Ошибка при проверке цели: ожидается, что lstm_29 будет иметь 2 размеры, но получили массив с формой (1, 11, 1)

...