Keras не может правильно загрузить модель при использовании backend.set_session - PullRequest
0 голосов
/ 10 сентября 2018

Минимальная версия моей проблемы представлена ​​следующим образом

import numpy as np
from keras import backend as K
from keras.models import load_model

model = load_model('model_1.h5')
K.set_session(tf.Session())
state = np.matrix(np.array([1,1,1,1,1]))
model.predict(state)

здесь model_1.h5 - это сохраненная модель, созданная Keras. Код выше показывает ошибки

Attempting to use uninitialized value dense_2/kernel

Однако, если мы сначала set_session, как следует

K.set_session(tf.Session())
model = load_model('model_1.h5')
state = np.matrix(np.array([1,1,1,1,1]))
model.predict(state)

Тогда все отлично работает.

В моей реальной проблеме я пишу класс deploy, который принимает загруженную модель в качестве входных данных. При инициализации этого класса я также использую set_session для настройки параметров использования графического процессора. Таким образом, когда я запускаю deploy, set_session всегда запускается сразу после загруженной модели (аналогично приведенному выше первому примеру), что вызывает ошибку, показанную выше. Есть ли способ исправить такие проблемы?

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