API SavedModel communes pour TensorFlow Hub

Introduction

TensorFlow Hub héberge des modèles pour diverses tâches. Il est souhaitable que les modèles d'une même tâche implémentent une API commune afin que les utilisateurs puissent facilement les échanger sans devoir modifier le code qui les utilise, même s'ils proviennent d'éditeurs différents.

L'objectif est de faire en sorte que l'échange de modèles pour une même tâche soit aussi simple que de changer d'hyperparamètre à valeur de chaîne. Les utilisateurs de modèles peuvent ainsi trouver facilement celui qui est le mieux adapté à leur problème.

Ce répertoire collecte des spécifications d'API communes pour les modèles au format TF2 SavedModel. Il remplace les signatures communes pour le format TF1 Hub, désormais obsolète.

Reusable SavedModel : base commune

L'API Reusable SavedModel définit les conventions générales concernant le nouveau chargement d'un modèle SavedModel dans un programme Python et sa réutilisation dans le cadre d'un modèle TensorFlow plus grand.

Utilisation de base 

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__.

Pour les utilisateurs de Keras, la classe hub.KerasLayer repose sur cette API pour encapsuler le modèle Reusable SavedModel en tant que couche Keras (protégeant ainsi les utilisateurs de Keras de ses détails), avec des entrées et des sorties qui dépendent des API spécifiques à une tâche répertoriées ci-dessous.

API spécifiques à une tâche

Ces API améliorent l'API Reusable SavedModel avec des conventions pour des types de données et des tâches de ML spécifiques.