Comment construire une roue Python LiteRT pour l'AXC F2152
Le mois dernier, Google a annoncé un changement de marque/renommage de TensorFlow Lite vers LiteRT (Lien vers l'article). Il fera désormais partie de leur tentative remise à jour pour essayer de rester pertinent dans le paradigme du calcul en périphérie (Edge computation) avec Google AI Edge.
J'avais déjà mis à disposition TensorFlow Lite (avec numpy et OpenCV) via une application à des fins éducatives dans le PLCnext Store (Lien vers l'application). Cependant, l'application restreint les utilisateurs à l'utilisation de la solution préemballée, même s'ils veulent essayer quelque chose de complètement différent ou inclure d'autres bibliothèques.
Considérant que j'ai récemment mis à jour l'application et que j'avais besoin de rafraîchir ma mémoire sur la façon de le faire, j'ai décidé de créer cet article et d'expliquer comment compiler croisée (cross-compile) TensorFlow Lite Runtime pour l'AXC F 2152.
Le processus d'exécution à la dernière étape peut sembler assez complexe car les bibliothèques disponibles publiquement ne prennent pas directement en charge l'architecture processeur de l'AXC F 2152 et donc la compilation croisée est nécessaire.
NOTE : Cette procédure a été testée sur :
- Un terminal UBUNTU 22.04 virtualisé.
- La machine virtuelle dispose de 27 Go de RAM et d'un fichier d'échange (swap) de 16 Go de RAM [Très pertinent pour le processus de compilation croisée] et s'exécute avec 24 cœurs.
- Une machine hôte avec 32 Go de RAM et un processeur Core i7-12850HX.
NOTE 2 : La quantité de RAM permet de maintenir la compilation croisée stable et de l'exécuter le plus rapidement possible. Une configuration avec moins de RAM peut ne pas être en mesure d'exécuter le processus de compilation croisée ou cela peut prendre trop de temps (jusqu'à plusieurs heures dans mon expérience).
- Téléchargez le code source de TensorFlow depuis la version que vous souhaitez compiler. https://github.com/tensorflow/tensorflow/releases/
- Extrayez le contenu dans un dossier de votre choix. J'utiliserai « myfolder » dans les entrées suivantes.
- Naviguez vers « Makefile » dans «
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/Makefile» et modifiez l'image de base, la version Python et la version numpy pour correspondre à celles de votre système. Ex :
- Naviguez vers « downloadtoolchains.sh » situé dans «
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/cmake/download_toolchains.sh» et modifiez les drapeaux qui viennent par défaut pour armh comme montré ici :
Depuis le dossier TensorFlow (/myfolder/tensorflow-2.XX.0), exécutez la commande : «
make -C tensorflow/lite/tools/pip_package docker-build \ TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.10»ATTENTION : Le processus de l'étape précédente peut prendre beaucoup de temps, faites preuve de patience.
Une fois le processus terminé, récupérez la roue Python depuis «
tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3.10/dist» vers votre contrôleur et installez-la avec pip.
AVIS : D'après mon expérience, le processus fonctionne pour Python 3.9, 3.10 et 3.11 et pour les versions 2.14 jusqu'à 2.16.2. Cependant, les versions supérieures à 2.17 ont un bug. J'ai un problème ouvert dans le dépôt GitHub de TensorFlow qui peut être suivi ici. J'espère qu'il pourra être résolu dans les prochaines versions.
Note :
Le blog Makers présente des applications et des histoires d'utilisateurs de membres de la communauté qui ne sont pas testés ou revus par Phoenix Contact. Utilisez-les à vos propres risques.
Technologie industrielle
- Maîtriser le Cintrage de Tubes Inox : Techniques Prouvées & Conseils Clés
- Optimiser la Qualité de la Découpe Laser pour Réduire les Coûts de Finition Secondaire
- Pourquoi la certification ISO est importante : qualité, conformité et crédibilité mondiale
- Guide stratégique pour l'adoption de l'IA : étapes éprouvées pour le succès en entreprise
- Transformer votre chaîne d'approvisionnement avec les solutions de fabrication numérique
- Formats de fichiers essentiels pour une fabrication PCB fluide
- Comprendre la détection des décharges partielles dans l'appareillage : clé d'opérations fiables
- CAN à suivi : compteur montant/descendant pour conversion de signal rapide et continue
- Comprendre la technologie des codes-barres : Fonctionnement codes et scanners