Входной параметр 0 уровня последовательности_109 несовместим со слоем: ожидаемый ndim = 3, найденный ndim = 2. Получена полная форма: (1, 60)

У меня есть следующий код для создания моей модели LSTM:

lstm_model=Sequential()
lstm_model.add(LSTM(units=50,return_sequences=True,input_shape=(np.shape(x_train_data)[1],1)))
lstm_model.add(LSTM(units=50))
lstm_model.add(Dense(1))

model_data=data[len(data)-len(valid_data)-60:].values
model_data=model_data.reshape(-1,1)
model_data=scaler.transform(model_data)

А у меня есть следующее:

lstm_model.compile(loss='mean_squared_error',optimizer='adam')
lstm_model.fit(x_train_data,y_train_data,epochs=1,batch_size=1,verbose=2)
X_test=[]
for i in range(60,model_data.shape[0]):
    X_test.append(model_data[i-60:i,0])
X_test=np.array(X_test)
X_test=np.reshape(X_test,(X_test.shape[0],X_test.shape[1],1))

Когда я бегу, получаю следующее:

ValueError: Input 0 of layer sequential_109 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: (1, 60)

Я искал повсюду и нашел другие похожие ошибки, но ни одна из них не имела решения, которое помогло бы мне.

Код можно найти в справочнике здесь.


person Tyler Wolf    schedule 28.03.2021    source источник
comment
Вы не изменили тренировочные данные, как это сделали с тестовыми данными.   -  person Nicolas Gervais    schedule 29.03.2021