У меня появилось сообщение об ошибке
InvalidArgumentError: Несовместимые формы: [490] vs. [500] [[{{node training_10 / Adam / gradient / loss_14 / density_39_loss / mean_squared_error / weighted_loss / mul_grad / Mul_1}}]]
, и я вижу, что такие вопросы опубликованы в нескольких источниках, однако ни одно из исправлений не помогло мне. До сих пор я пытался определить пользовательскую функцию потерь, используя другую версию keras и добавил Flatten ().
У меня есть X.shape (1575500, 40) и Y.shape (1575500, 1) и цель состоит в том, чтобы создать модель прогнозирования LSTM временных рядов с 10 временными шагами и 40 функциями.
n_input = 10 #timesteps
generator = TimeseriesGenerator(X, Y, length=n_input, batch_size=500)
lstm = Sequential()
lstm.add(LSTM(64,
batch_input_shape =(500, 10, 40), #(batch_size, timesteps, features)
activation = 'tanh',
stateful=True,
return_sequences=True))
lstm.add(Dropout(0.5))
lstm.add(Dense(32, activation = 'tanh'))
lstm.add(Dropout(0.5))
lstm.add(Flatten())
lstm.add(Dense(1, activation='linear'))
lstm.compile(loss='mse', optimizer = 'Adam', metrics = ['mse']
lstm.fit_generator(generator, epochs = 10)
Не могли бы вы помочь мне понять и исправить мою модель?