Загрузка нескольких моделей Keras в разных процессах - PullRequest
0 голосов
/ 09 мая 2019

У меня есть несколько обученных моделей Keras, веса хранятся в файлах h5 с использованием keras.models.save_model. Они не имеют одинаковую архитектуру.

Моя цель - загрузить их все в отдельные процессы и иметь возможность прогнозировать. В настоящее время я пытаюсь сделать это, используя класс, который хранит сеанс TensorFlow и объект графа. Затем я использую операторы with во время загрузки и прогнозирования, чтобы предотвратить вмешательство в любые глобальные переменные.

Я могу без проблем создать свою (пустую) модель Keras Sequential, но когда я вызываю ее функцию load_weights, процесс просто останавливается.

Установки с объектами Graph и Session, которые я пробовал:

  • определенный график и сессия -> процесс останавливается на load_weights
  • только для конкретного графика -> «Ошибка типа: невозможно интерпретировать ключ feed_dict как тензор»
  • только для конкретного сеанса -> процесс зависает на load_weights

Я прошел через большинство связанных ответов по SO, но не смог найти решение или даже кого-то с такой же проблемой.

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 09 мая 2019

Я до сих пор не знаю точную причину проблемы.Однако я узнал, что мой основной процесс - загрузка модели keras и удаление, что решило мою проблему.Теперь у меня может быть несколько моделей, работающих параллельно.

...