keras - Использование предварительно обученной модели внутри собственного генератора данных с помощью fit_generator () - PullRequest
0 голосов
/ 03 февраля 2020

Я тренирую модель, используя метод fit_generator(), используя керасы с tf backend. В моем собственно реализованном генераторе я хочу загрузить другую (предварительно обученную) модель _Teacher_model и сделать вывод, чтобы сгенерировать метки для модели, которая находится в процессе обучения.

def __init__(self, Teacher_model_path):
    self._Teacher_model_path = Teacher_model_path
    self._Teacher_model = load_model(Teacher_model_path)

def generator(self, input_data):
   while 1:
       #some pre-processing
       logits = self._Teacher_model.predict_on_batch(input_data)

Этот метод является частью класса генератора, и модель учителя загружается на этапе инициализации __init__.

Я получаю следующую ошибку:

Тензор Тензор ("dens_1 / BiasAdd: 0", shape = (?, 10), dtype = float32) не является элементом этот график.

Когда я каждый раз перезагружаю модель внутри генератора, кажется, нет никаких проблем, кроме вычислительной жадности. Когда я инициализирую это методом __init__, я получаю сообщение об ошибке.

Кажется, работает следующее:

def __init__(self, Teacher_model_path):
    self._Teacher_model_path = Teacher_model_path

def generator(self, input_data):
   Teacher_model = load_model(Teacher_model_path)
   while 1:
       #some pre-processing
       logits = Teacher_model.predict_on_batch(input_data)

Я понимаю, что я вызываю какое-то столкновение с по умолчанию grap . Проблема в том, что у меня есть один график для модели тренировки и один для учителя. Как мне это реализовать?

...