Как правильно сохранить загруженную модель H5 в ПБ с TF2 - PullRequest
0 голосов
/ 18 июня 2019

Я загружаю сохраненную модель h5 и хочу сохранить модель как pb.Модель сохраняется во время тренировки с функцией обратного вызова tf.keras.callbacks.ModelCheckpoint.

Версия TF: 2.0.0a
edit : та же проблема, что и в 2.0.0-beta1

Мои шаги по сохранению pb:

  1. Сначала я устанавливаю K.set_learning_phase(0)
  2. , затем загружаю модель с помощью tf.keras.models.load_model
  3. Затем я определяюfreeze_session() функция.
  4. (необязательно, я компилирую модель)
  5. Затем с помощью функции freeze_session() с tf.keras.backend.get_session

Ошибка Я получаю, с и без компиляции:

AttributeError: модуль 'tenorflow.python.keras.api._v2.keras.backend' не имеет атрибута 'get_session'

Мой вопрос:

  1. У TF2 больше нет get_session?(Я знаю, что tf.contrib.saved_model.save_keras_model больше не существует, и я также попробовал tf.saved_model.save, который на самом деле не работал)

  2. Или get_session работает только тогда, когда я на самом деле тренирую модель и простозагрузка h5 не работает Редактировать : Также с только что обученной сессией, get_session недоступен.

    • Если так, как я собираюсь конвертировать h5 без обучения впб?Есть хороший учебник?

Спасибо за помощь

1 Ответ

1 голос
/ 27 июня 2019

Мне интересно то же самое, когда я пытаюсь использовать get_session () и set_session () для освобождения памяти GPU.Эти функции отсутствуют, и нет в документации TF2.0 Keras .Я предполагаю, что это как-то связано с переключением Tensorflow на активное выполнение, так как прямой доступ к сеансу больше не требуется.

...