Path: blob/master/site/es-419/lite/guide/signatures.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
Firmas en TensorFlow Lite
TensorFlow Lite admite la conversión de especificaciones de entrada/salida de modelos TensorFlow a modelos TensorFlow Lite. Las especificaciones de entrada/salida se denominan "firmas". Las firmas se pueden especificar al generar un SavedModel o al crear funciones concretas.
Las firmas en TensorFlow Lite aportan las siguientes características:
Especifican las entradas y salidas del modelo TensorFlow Lite convertido respetando las firmas del modelo TensorFlow.
Permiten que un único modelo TensorFlow Lite admita varios puntos de entrada.
La firma se compone de tres piezas:
Entradas: Mapea las entradas desde el nombre de la entrada en la firma a un tensor de entrada.
Salidas: El mapa para salidas enlaza desde el nombre de la salida en la firma a un tensor de salida.
Clave de firma: Nombre que identifica un punto de entrada del grafo.
Configuración
Modelo de ejemplo
Supongamos que tenemos dos tareas, por ejemplo, codificar y decodificar, como modelo TensorFlow:
Desde el punto de vista de la firma, el modelo TensorFlow anterior puede resumirse como sigue:
Firma
Clave: encode
Entradas: {"x"}
Salida: {"encoded_result"}
Firma
Clave: decode
Entradas: {"x"}
Salida: {"decoded_result"}
Convertir un modelo con firmas
Las API de conversión de TensorFlow Lite incorporan la información de firma anterior al modelo TensorFlow Lite convertido.
Esta funcionalidad de conversión está disponible en todas las API de conversión a partir de la versión 2.7.0 de TensorFlow. Vea ejemplos de uso.
Del modelo guardado
Del modelo Keras
De funciones concretas
Firmas de ejecución
Las API de inferencia de TensorFlow admiten las ejecuciones basadas en firmas:
Accediendo a los tensores de entrada/salida a través de los nombres de las entradas y salidas, especificados por la firma.
Ejecutando cada punto de entrada del grafo por separado, identificado por la clave de firma.
Soporte para el procedimiento de inicialización de SavedModel.
Actualmente están disponibles las vinculaciones de los lenguajes Java, C++ y Python. Véase el ejemplo de las secciones siguientes.
Java
C++
Python
Limitaciones conocidas
Como el intérprete TFLite no garantiza la seguridad de los hilos, los ejecutores de firmas del mismo intérprete no deben ser ejecutados concurrentemente.
La compatibilidad con C/iOS/Swift aún no está disponible.
Actualizaciones
Versión 2.7
Se implementa la función de firma múltiple.
Todas las API de conversión de la versión dos generan modelos TensorFlow Lite habilitados para firma.
Versión 2.5
La función de firma está disponible a través de la API del conversor
from_saved_model
.