Cómo construir una rueda LiteRT Python para el AXC F2152
El mes pasado, Google anunció un cambio de nombre de TensorFlow Lite a LiteRT (enlace al artículo). Ahora formará parte de su renovado intento de seguir siendo relevante en el paradigma de computación Edge con Google AI Edge.
Ya había puesto a disposición TensorFlow Lite (junto con numpy y OpenCV) a través de una aplicación con fines educativos en la tienda PLCnext (enlace a la aplicación). Sin embargo, la aplicación restringe a los usuarios el uso de la solución empaquetada, incluso si quieren probar algo completamente diferente o incluir otras bibliotecas.
Teniendo en cuenta que actualicé la aplicación recientemente y necesitaba refrescar mi memoria sobre cómo hacerlo, decidí crear esta publicación y explicar cómo realizar una compilación cruzada de TensorFlow Lite Runtime para el AXC F 2152.
El proceso de ejecución en el último paso puede parecer bastante complicado ya que las bibliotecas disponibles públicamente no ofrecen soporte directo para la arquitectura del procesador del AXC F 2152 y, por lo tanto, es necesaria la compilación cruzada.
NOTA :Este procedimiento fue probado en:
- Un terminal UBUNTU 22.04 virtualizado.
- La máquina virtual tiene 27 GB de RAM y un archivo de intercambio adicional de 16 GB de RAM [muy relevante para el proceso de compilación cruzada] y se ejecuta con 24 núcleos.
- Una máquina host con 32 GB de RAM y un procesador Core i7-12850HX.
NOTA 2 :La cantidad de RAM permite mantener estable la compilación cruzada y ejecutarla lo más rápido posible. Es posible que una configuración con menos RAM no pueda ejecutar el proceso de compilación cruzada o que tarde demasiado (hasta algunas horas, según mi propia experiencia).
- Descargue el código fuente de TensorFLow desde la versión que desea compilar. https://github.com/tensorflow/tensorflow/releases/
- Extraiga el contenido a una carpeta de su elección. Usaré "micarpeta" en las siguientes entradas.
- Navega hasta "Makefile " en "
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/Makefile" y modifique la imagen base, la versión de Python y la versión numpy para que coincidan con las de su sistema. Por ejemplo:
- navegue hasta "descargartoolchains.sh " ubicado en "
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/cmake/download_toolchains.sh" y modifique las banderas que vienen por defecto para armh como se muestra aquí:
-
Desde la carpeta TensorFlow (/myfolder/tensorflow-2.XX.0), ejecute el comando:"
make -C tensorflow/lite/tools/pip_package docker-build \ TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.10" -
ADVERTENCIA:El proceso del paso anterior puede llevar mucho tiempo, tenga paciencia.
-
Una vez finalizado el proceso, tome la rueda Python de "
tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3.10/dist" a su controlador e instálelo usando pip.
AVISO :En mi experiencia, el proceso funciona para Python 3.9, 3.10 y 3.11 y para las versiones 2.14 hasta 2.16.2. Sin embargo, las versiones superiores a la 2.17 tienen un error. Tengo un problema abierto en el repositorio GitHub de TensorFlow que se puede seguir aquí. Espero que se pueda solucionar en futuras versiones.
Nota:
El Makers Blog muestra aplicaciones e historias de usuarios de miembros de la comunidad que Phoenix Contact no prueba ni revisa. Úselos bajo su propio riesgo.
Tecnología Industrial
- Cómo la tecnología conectada puede ayudar a resolver los desafíos de la cadena de suministro
- Tres razones para priorizar la sostenibilidad de la cadena de suministro este año
- 23 profesionales de almacenes revelan los errores más grandes que cometen las empresas al diseñar un diseño de almacén (y cómo evitarlos)
- Kit de lámparas LED:cómo armar un juego de luces LED
- Capeando el brote de virus, los minoristas también deben prepararse para su fin
- Hoja de datos de Attiny84:configuración de pines y pasos de programación
- ¿Cuáles son los procesos de mecanizado industrial más utilizados?
- El surgimiento de la fabricación digital
- Experiencia de MPC en producción de uretano:precisión, consistencia, velocidad
- ¿Qué es la pulverización térmica? - Tipos y aplicación
- Mecanizado CNC mejorado con IA para aleaciones de titanio aeroespaciales:optimización para 2026