Conversor de TensorFlow Lite

El conversor de TensorFlow Lite toma un modelo de TensorFlow y genera un archivo FlatBuffer (.tflite) de TensorFlow Lite. El conversor es compatible con directorios de modelos guardados, modelos tf.keras y funciones concretas.

Nuevo en TF 2.2

Empezamos a usar un nuevo backend de conversor de forma predeterminada, en las compilaciones nocturnas y en TF 2.2 estable. ¿Por qué hicimos este cambio?

  • Posibilita la conversión de nuevas clases de modelos, incluidos Mask R-CNN, Mobile BERT y muchos más.
  • Agrega compatibilidad con el flujo de control funcional (habilitado de forma predeterminada en TensorFlow 2.x).
  • Realiza un seguimiento del nombre del nodo de TensorFlow original y del código de Python, y los expone durante la conversión si se producen errores.
  • Aprovecha MLIR, la tecnología de compilación de vanguardia de Google para el AA, que facilita la extensión para contemplar solicitudes de funciones.
  • Agrega compatibilidad básica para modelos con tensores de entrada que contienen dimensiones desconocidas.
  • Es compatible con todas las funciones de conversión existentes.

Si tienes algún problema, sigue estos pasos:

  • Crea un problema de GitHub con la etiqueta de componente "TFLiteConverter". Incluye lo siguiente:
    • Comando que se usa para ejecutar el conversor o el código, si usas la API de Python
    • Salida de la invocación del conversor
    • Modelo de entrada para el conversor
    • Si la conversión se realiza correctamente, pero el modelo generado es incorrecto, indica cuál es el problema:
      • Se generan resultados incorrectos o disminuye la exactitud.
      • Se generan resultados correctos, pero el modelo es más lento de lo esperado (modelo generado con un conversor anterior).
  • Si usas la función allow_custom_ops, lee la documentación de la API de Python y de la herramienta de línea de comandos.
  • Cambia al conversor anterior mediante la configuración de experimental_new_converter=false (desde la herramienta de línea de comandos tflite_convert) o converter.experimental_new_converter=False (desde la API de Python).

Implementación de dispositivos

El archivo FlatBuffer de TensorFlow Lite se implementa luego en un dispositivo cliente (p. ej., un dispositivo incorporado o móvil) y se ejecuta de forma local con el intérprete de TensorFlow Lite. El proceso de conversión se muestra en el siguiente diagrama:

Flujo de trabajo del conversor de TFLite

Conversión de modelos

El conversor de TensorFlow Lite se debe usar desde la API de Python. El uso de la API de Python facilita la conversión de modelos como parte de una canalización del desarrollo de modelos y ayuda a mitigar los problemas de compatibilidad desde el comienzo. Como alternativa, la herramienta de línea de comandos es compatible con modelos básicos.