Comment créer une roue Python LiteRT pour l'AXC F2152
Le mois dernier, Google a annoncé un changement de nom de TensorFlow Lite en LiteRT (Lien vers l'article). Cela fera désormais partie de leur tentative remaniée pour tenter de rester pertinent dans le paradigme de calcul Edge avec Google AI Edge.
J'avais déjà mis à disposition TensorFlow Lite (avec numpy et OpenCV) via une application à des fins pédagogiques dans la boutique PLCnext (Lien vers l'application). Cependant, l'application restreint l'utilisation de la solution préemballée aux utilisateurs, même s'ils souhaitent 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 me rafraîchir la mémoire sur la façon de le faire, j'ai décidé de créer cet article et d'expliquer comment compiler de manière croisée TensorFlow Lite Runtime pour l'AXC F 2152.
Le processus en cours dans la dernière étape peut sembler assez compliqué puisque les bibliothèques accessibles au public n'offrent pas de support direct pour l'architecture du processeur de l'AXC F 2152 et par conséquent, une compilation croisée est nécessaire.
REMARQUE :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 supplémentaire de 16 Go de RAM [très pertinent pour le processus de compilation croisée] et fonctionne avec 24 cœurs.
- Une machine hôte dotée de 32 Go de RAM et d'un processeur Core i7-12850HX.
REMARQUE 2 :La quantité de RAM permet de garder la compilation croisée stable et de s'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'à quelques heures selon ma propre expérience).
- Téléchargez le code source de TensorFLow à partir de la version que vous souhaitez compiler. https://github.com/tensorflow/tensorflow/releases/
- Extrayez le contenu dans un dossier de votre choix. J'utiliserai « mon dossier » dans les prochaines entrées ci-dessous.
- Accédez à « 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 qu'elles correspondent à celles de votre système. Par exemple :
- accédez à « downloadtoolchains.sh " situé dans "
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/cmake/download_toolchains.sh" et modifiez les drapeaux fournis par défaut pour armh comme indiqué 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" -
AVERTISSEMENT :Le processus de l'étape précédente peut prendre beaucoup de temps, faites preuve de patience.
-
Une fois le processus terminé, prenez la roue Python de "
tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3.10/dist" sur votre contrôleur et installez-le à l'aide de 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 à 2.16.2. Cependant, les versions supérieures à la version 2.17 présentent un bug. J'ai un problème ouvert dans le référentiel GitHub de TensorFlow qui peut être suivi ici. J'espère que cela pourra être résolu dans les prochaines versions.
Remarque :
Le Makers Blog présente des applications et des témoignages d'utilisateurs de membres de la communauté qui ne sont ni testés ni examinés par Phoenix Contact. Utilisez-les à vos propres risques.
Technologie industrielle
- 12 tendances de l'industrie façonnant la fabrication sous contrat :usinage additif
- Traitement thermique des pièces moulées de précision
- Avantages de l'utilisation de racks industriels fabriqués sur mesure
- Meilleurs détecteurs de champ électromagnétique (EMF) pour 2020
- Circuit oculaire électronique - Utilisation de LDR et IC 4049 pour le contrôle de sécurité
- Trois façons dont l'IoT peut rationaliser les chaînes d'approvisionnement saisonnières
- Principes fondamentaux du meulage des métaux :origines, actions de coupe et aperçus de l'industrie
- Ce que le Nouvel An chinois signifie pour votre chaîne d'approvisionnement
- Alimentation sans transformateur :méthode approuvée pour réduire les coûts et l'espace