Раньше я использовал model.add(Reshape())
от Keras, но почему-то тот же код, который работал раньше, теперь не работает.Я пытаюсь изменить входные данные для LSTM без изменения данных ранее;без использования команды np.reshape
.Мой код:
def model_lstm_ae ():
model=Sequential()
model.add(Reshape((1,X_train_.shape[1])))
model.add(LSTM(128, activation='relu',
input_shape=(1,X_train_.shape[1]), return_sequences=True))
model.add(LSTM(64, activation='relu',
return_sequences=False))
model.add(RepeatVector(timesteps))
model.add(LSTM(64, activation='relu',
return_sequences=True))
model.add(LSTM(128, activation='relu',
return_sequences=False))
model.add(TimeDistributed(Dense(1)))
model.compile(loss='mean_squared_error',
optimizer=k.optimizers.Adam(lr=1e-4, amsgrad=True))
return model
model_lstm_ae = KerasRegressor(build_fn=model_lstm_ae)
history=model_lstm_ae.fit(X_train_, X_train_,
epochs=100,
batch_size=256,
validation_data = (X_test_, X_test_),
verbose = 1,
callbacks = [early_stopping_monitor, lr_reduce])
Однако я получаю следующую ошибку:
ValueError: The first layer in a Sequential model must get an `input_shape` or `batch_input_shape` argument.
Любые предложения о том, как заставить это работать?