Как сохранить состояние модели керас с тензорным течением? - PullRequest
1 голос
/ 26 марта 2019

Я пытаюсь написать новый метод для анализа прогнозов прогноза временных рядов. Поэтому мне нужно копировать мою изученную модель на каждой отметке времени (прогнозирования) или сбрасывать ее в предыдущую точку и подавать ее с различными входными данными.

Я использую:

  • tenorflow.python.keras (tf версия: 1.12)
  • питон 3,7

Моя сеть:

model = Sequential()
model.add(GRU(100, return_sequences=True, stateful=True, batch_size=batchSize, input_shape=(x, y)))
model.add(Dropout(dropout))
model.add(GRU(units, return_sequences=False, stateful=True))
model.add(Dropout(dropout))
model.add(Dense(1, activation="linear", kernel_constraint=min_max_norm(min_value=-10)))
model.compile(loss='mean_squared_error', optimizer='nadam', metrics=['accuracy'])

Единственное, что в данный момент работает, это предсказывать предыдущие шаги с нуля:

for i in range(timestamps):
    for j, features in enumerate(featuresTable[i]):
        if i > 0:
            model.predict(np.reshape(featuresList[:i], (i, 1, featuresList.shape[1])),
                                              batch_size=self.batch_size)
        predict = model.predict(np.reshape(features, (1, 1, len(features))), batch_size=self.batch_size)
        model.reset_states()                

, где timestamps - количество временных отметок, featuresTable - таблица с альтернативными функциями для каждой временной отметки, а featuresList - обычные функции

.

Что я хочу:

state = getState(model)
for i in range(timestamps):
    for j, features in enumerate(featuresTable[i]):
        predict = model.predict(np.reshape(features, (1, 1, len(features))), batch_size=self.batch_size)
        setState(model,state)
    model.predict(np.reshape(featuresList[i], (1, 1, featuresList.shape[1])), batch_size=self.batch_size)
    state = getState(model)           

заранее спасибо ~ Lifree

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