TensorFlow Lite con Go API en 7 pasos

TensorFlow Lite es un marco de aprendizaje profundo de código abierto para la inferencia en el dispositivo. La API actual es compatible oficialmente con Python, Java y C ++. La pregunta principal aquí es, ¿qué pasaría si quisiéramos usar Go & TensorFlow Lite?

El objetivo de este artículo es brindar la oportunidad de usar Go en el poderoso mundo de la inferencia en el dispositivo y también brindar una experiencia de uso fluida.

Hay algunas iniciativas trabajando en eso, pero sin un diseño central claro, un entorno de mantenimiento y dependencias.

Para la propuesta inicial, decidí usar la biblioteca TensorFlow Lite C y para el enlace estoy usando cgo (cgo permite la creación de paquetes Go que llaman código C) para implementar la solución.

Creé la versión inicial de la biblioteca tflitego. * Siempre damos la bienvenida a los contribuyentes, expertos y expertos en inferencia en el dispositivo, etc.

Aquí el diseño de la versión inicial:


También creé un proyecto de ejemplos inicial con la propuesta, el objetivo aquí es usar el modelo Iris TensorFlow lite y ver tflitego en acción. Básicamente, necesitamos 7 pasos para ejecutar una inferencia simple.
  1. Creación de modelos
  2. Establecer opciones de intérprete
  3. Crear intérprete
  4. Asignar tensores
  5. Tensor de entrada
  6. Invocación de intérprete
  7. Salidas / Resultados
En cuanto al entorno de implementación, creé una representación en acciones de GitHub para probar la simplicidad de uso de tflitego. (linux / X86_64, 2.4.0, Ubuntu 18.04). * TensorFlow 2.4.0. La clave es un paquete para implementar correctamente la biblioteca C de TensorFlow. Ejemplo aquí

También representé un método de implementación simple para usar en raspberry pi, por ahora probado en v3. Raspberrypi_linux / ARMv7, 2.4.0 * TensorFlow 2.4.0.

Mas detalles sobre tflitego: https://github.com/nbortolotti/tflitego
Mas detalles sobre los ejemplos utilizando tflitego: https://github.com/nbortolotti/tflitego_examples

Comentarios

Entradas más populares de este blog

Modelando relaciones en UML, un acercamiento a las Asociaciones

Utilizando Intents implícitos para crear actividades

Entendiendo la personalidad de mi equipo, cual es tu estilo?