Keras.prediction () ухудшается с большим количеством прогнозов - PullRequest
0 голосов
/ 11 октября 2018

Я новичок в использовании Keras и я экспериментировал с ним.Я построил следующую сеть, так как я пытаюсь понять опцию «с состоянием» в Keras LSTM.:

rdrop = 0.3
rdrop2 = 0
model = Sequential()
model.add(LSTM(1600, return_sequences=False, batch_input_shape=(n_win, L, N), stateful=True, dropout=rdrop))
model.add(Dense(1600, activation='linear'))
model.add(Dropout(0.4))
model.add(RepeatVector(L))
model.add(LSTM(1600, return_sequences=True, stateful=False, dropout=rdrop))
model.add(TimeDistributed(Dense(N, activation='softmax')))

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['acc'])

с этими параметрами fit ():

for i in range(30):
   model.fit(data_input3, data_input3,
                    shuffle=False,
                    epochs=1,
                    batch_size=n_win))
   model.reset_states()

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

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

t = np.zeros(100)
for i in range(100):
data_out2 = model.predict(data_input3[0:n_win, :, :], batch_size=n_win)
t = np.sum(np.abs(data_out2 - data_input3[0:n_win, :, :]))

Это не хороший способ для вычислениярасстояние, но когда я визуально проверяю результаты, после двойного вызова model.predict() это начинает быть ужасно (первый раз приятно).

Есть ли какие-либо изменения в весах на этапе прогнозирования?Я проверил отсев и, похоже, он используется только на тренировках.Я проверил с Keras 2.2.3 и 2.2.4, оба работают с использованием TF 1.10

Заранее, спасибо за вашу помощь!

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