использование весов keras h5 в модели tf.keras - PullRequest
0 голосов
/ 18 июня 2020

У меня веса h5 из модели Keras.

Я хочу переписать модель Keras в модель tf.keras (используя TF2.x).

Я знаю, что изменился только API высокого уровня, но знаете ли вы, могу ли я по-прежнему использовать веса h5? Скорее всего, они могут быть загружены, но отличается ли структура между Keras и тф.керас веса?

Спасибо

1 Ответ

0 голосов
/ 18 июня 2020

Кажется, что они одинаковые

cudos на Mohsin hasan answer

Раньше, когда мне приходилось конвертировать модель tf.keras в keras model, я сделал следующее:

  1. Модель поезда в tf.keras
  2. Сохраните только веса tf_model.save_weights("tf_model.hdf5")
  3. Сделайте архитектуру модели Keras, используя все слои в keras (такой же, как у tf keras one)
  4. вес загрузки по именам слоев в keras: keras_model.load_weights(by_name=True)

Мне показалось, что это сработало. Поскольку я использовал нестандартную архитектуру (DenseNet169), мне пришлось приложить очень меньше усилий для репликации сети tf.keras в keras.

И ответ от Алекса Кон

tf.keras модель HDF5 и модели Keras HDF5 - это не разные вещи, за исключением неизбежной синхронности обновления версии программного обеспечения. Вот что говорят официальные документы:

tf.keras - это реализация TensorFlow спецификации API Keras. Это высокоуровневый API для построения и обучения моделей, который включает первоклассную поддержку специфичных для TensorFlow c функциональных возможностей

Если преобразователь может преобразовать модель keras в tf.lite, он будет дают те же результаты. Но функциональность tf.lite более ограничена, чем tf.keras. Если вам недостаточно этого набора функций, вы все равно можете работать с tenorflow и пользоваться другими его преимуществами.

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