API de SavedModel comunes para TF Hub

Introducción

TensorFlow Hub aloja modelos para una variedad de tareas. Se anima a los modelos para la misma tarea a implementar una API común para que los consumidores de modelos puedan intercambiarlos fácilmente sin modificar el código que los utiliza, incluso si provienen de diferentes editores.

El objetivo es hacer que el intercambio de diferentes modelos para la misma tarea sea tan simple como cambiar un hiperparámetro con valor de cadena. Con eso, los consumidores de modelos pueden encontrar fácilmente el mejor para su problema.

Este directorio recopila especificaciones de API comunes para modelos en el formato TF2 SavedModel . (Reemplaza las firmas comunes para el formato TF1 Hub, ahora obsoleto).

Modelo guardado reutilizable: la base común

La API reutilizable SavedModel define convenciones generales sobre cómo cargar un SavedModel nuevamente en un programa Python y reutilizarlo como parte de un modelo TensorFlow más grande.

Uso básico:

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

Para los usuarios de Keras, la clase hub.KerasLayer se basa en esta API para empaquetar el modelo guardado reutilizable como una capa de Keras (protegiendo a los usuarios de Keras de sus detalles), con entradas y salidas de acuerdo con las API específicas de la tarea que se enumeran a continuación.

API específicas de tareas

Estos refinan la API de SavedModel reutilizable con convenciones para tareas de aprendizaje automático y tipos de datos particulares.