Ошибка LSTM Keras (Tensorflow) в шпионах и юпитерах - PullRequest
0 голосов
/ 30 марта 2020

Когда я использую Google Colab, в коде нет ошибки

, но когда я использую spyder или jupyter, возникает ошибка.

Model_10 = Sequential()
Model_10.add(LSTM(128, batch_input_shape = (1,10,5), stateful = True))
Model_10.add(Dense(5, activation = 'linear'))

Model_10.compile(loss = 'mse', optimizer = 'rmsprop')

Model_10.fit(x_train, y_train, epochs=1, batch_size=1, verbose=2, shuffle=False, callbacks=[history])

x_train_data.shape = (260,10, 5)

y_train_data.shape = (260,1,5)

Я использую python3 .7 и тензор потока 2.0. Я не знаю, почему ошибка возникает только в Anaconda.

1012 *

код ошибки

ValueError: Передан целевой массив с формой (260, 1, 5) для вывода формы (1, 5) при использовании в качестве потерь mean_squared_error. Эта потеря предполагает, что цели будут иметь ту же форму, что и выходные данные.

1 Ответ

0 голосов
/ 30 марта 2020

Вы должны изменить свои метки / цели:

y_train_data = y_train_data.reshape((260,5))

Поскольку вы используете batch_input_shape во входном слое и задаете размер пакета 1, модель будет брать один пример из ваших меток на каждом шаг, который в любом случае будет иметь форму (1, 5) для меток.

...