Hoe je een LiRT Python-wiel bouwt voor de AXC F2152
Vorige maand kondigde Google een rebranding/hernoeming aan van TensorFlow Lite naar LiteRT (link naar artikel). Het zal nu deel uitmaken van hun vernieuwde poging om relevant te blijven in het Edge-berekeningsparadigma met Google AI Edge.
Ik had TensorFlow Lite (samen met numpy en OpenCV) al beschikbaar gesteld via een app voor educatieve doeleinden in de PLCnext store (Link naar de app). De app beperkt gebruikers echter in het gebruik van de voorverpakte oplossing, zelfs als ze iets heel anders willen proberen of andere bibliotheken willen toevoegen.
Gezien het feit dat ik onlangs de app heb bijgewerkt en mijn geheugen moest opfrissen over hoe ik dit moest doen, besloot ik dit bericht te maken en uit te leggen hoe ik TensorFlow Lite Runtime voor de AXC F 2152 kon crosscompileren.
Het lopende proces in de laatste stap kan behoorlijk ingewikkeld lijken, omdat de openbaar beschikbare bibliotheken geen directe ondersteuning bieden voor de processorarchitectuur van de AXC F 2152 en daarom kruiscompilatie noodzakelijk is.
LET OP :Deze procedure is getest op:
- Een gevirtualiseerde UBUNTU 22.04-terminal.
- De virtuele machine heeft 27 GB RAM en nog een wisselbestand van 16 GB RAM [zeer relevant voor het cross-compilatieproces] en draait op 24 cores.
- Een hostmachine met 32 GB RAM en een Core i7-12850HX-processor.
NOTA 2 :De hoeveelheid RAM maakt het mogelijk om de kruiscompilatie stabiel te houden en zo snel mogelijk te laten werken. Een installatie met minder RAM kan het cross-compilatieproces mogelijk niet uitvoeren of het kan te lang duren (tot enkele uren in mijn eigen ervaring).
- Download de broncode van TensorFLow van de versie die u wilt compileren. https://github.com/tensorflow/tensorflow/releases/
- Extraheer de inhoud naar een map naar keuze. Ik zal "mijnmap" gebruiken in de volgende vermeldingen hieronder.
- Navigeer naar "Makefile " in "
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/Makefile" en wijzig de basisimage, de Python-versie en de numpy-versie zodat deze overeenkomen met die van uw systeem. Bijvoorbeeld:
- navigeer naar "downloadtoolchains.sh " bevindt zich in "
/myfolder/tensorflow-2.XX.0/tensorflow/lite/tools/cmake/download_toolchains.sh" en wijzig de vlaggen die standaard voor armh worden gebruikt, zoals hier weergegeven:
-
Voer vanuit de map TensorFlow (/mijnmap/tensorflow-2.XX.0) de opdracht uit:"
make -C tensorflow/lite/tools/pip_package docker-build \ TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.10" -
WAARSCHUWING:Het proces van de vorige stap kan veel tijd in beslag nemen, wees geduldig.
-
Nadat het proces is voltooid, neem je het Python-wiel uit "
tensorflow-2.XX.0/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3.10/dist" naar uw controller en installeer deze met pip.
LET OP :Naar mijn ervaring werkt het proces voor Python 3.9, 3.10 en 3.11 en voor releases 2.14 tot en met 2.16.2. Releases boven versie 2.17 bevatten echter een bug. Ik heb een open probleem in de GitHub-repository van TensorFlow dat hier kan worden gevolgd. Ik hoop dat het in verdere releases kan worden opgelost.
Opmerking:
Op de Makers Blog worden toepassingen en gebruikersverhalen van communityleden getoond die niet door Phoenix Contact zijn getest of beoordeeld. Gebruik ze op eigen risico.
Industriële technologie
- Ken uw materialen:TPE vs. TPU
- Afgeleiden van Power Functions van e
- Hoe u de juiste barcodes kiest voor uw Facility Management-software
- Vermogensbeheer is de basis van LDAR-programma's
- Grab Sampling 101:plantkosten verlagen
- Alles wat u moet weten over flexibele printplaten
- Halfgeleiderapparaten in SPICE
- Best practices voor robotlassen
- Alles wat u moet weten over alle onderdelen van elektrische voertuigen
- High-Speed PCB:een uitgebreide gids
- Wat is Rapid Prototyping? - Typen en werken?