InvalidArgumentError: Несовместимые формы: [490] против [500] при использовании TimeseriesGenerator - PullRequest
0 голосов
/ 08 июля 2020

У меня появилось сообщение об ошибке

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)

Не могли бы вы помочь мне понять и исправить мою модель?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...