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:

- Creación de modelos
- Establecer opciones de intérprete
- Crear intérprete
- Asignar tensores
- Tensor de entrada
- Invocación de intérprete
- 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. Puedes ver un 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.
wget https://storage.googleapis.com/clitelibrary/ctflitelib_2.4.0_ARMv7.tar.gz sudo tar -C /usr/local -xzf ctflitelib_2.4.0_ARMv7.tar.gz
metodología bastante sencilla, ambiente raspberry.
Te invito a probar esta idea:
go get github.com/nbortolotti/tflitego
Toda la información incluida en: