Общие API SavedModel для TF Hub

Введение

В TensorFlow Hub размещаются модели для различных задач. В моделях для одной и той же задачи рекомендуется реализовать общий API, чтобы потребители моделей могли легко обмениваться ими, не изменяя код, который их использует, даже если они исходят от разных издателей.

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

В этом каталоге собраны спецификации распространенных API для моделей в формате TF2 SavedModel . (Он заменяет общие подписи для ныне устаревшего формата TF1 Hub .)

Многоразовая сохраненная модель: общая основа

API Reusable SavedModel определяет общие соглашения о том, как загрузить SavedModel обратно в программу Python и повторно использовать ее как часть более крупной модели TensorFlow.

Основное использование:

obj = hub.load("path/to/model")  # That's tf.saved_model.load() after download.
outputs = obj(inputs, training=False)  # Invokes the tf.function obj.__call__.

Для пользователей Keras hub.KerasLayer использует этот API для упаковки многоразовой сохраненной модели в качестве слоя Keras (защищая пользователей Keras от ее подробностей) с входными и выходными данными в соответствии с API-интерфейсами для конкретных задач, перечисленными ниже.

API для конкретных задач

Они уточняют API Reusable SavedModel с помощью соглашений для конкретных задач ML и типов данных.