Coral Edge TPU op een Raspberry Pi met Ultralytics YOLOv8 🚀
Wat is een koraalrand TPU?
De Coral Edge TPU is een compact apparaat dat een Edge TPU coprocessor toevoegt aan je systeem. Het maakt ML-inferentie met laag stroomverbruik en hoge prestaties mogelijk voor TensorFlow Lite modellen. Lees meer op de Coral Edge TPU homepage.
Verbeter de prestaties van het Raspberry Pi-model met Coral Edge TPU
Veel mensen willen hun modellen uitvoeren op een ingebed of mobiel apparaat zoals een Raspberry Pi, omdat deze zeer energiezuinig zijn en in veel verschillende toepassingen kunnen worden gebruikt. De inferentieprestaties op deze apparaten zijn echter meestal slecht, zelfs bij gebruik van formaten als onnx of openvino. De Coral Edge TPU is een geweldige oplossing voor dit probleem, omdat het gebruikt kan worden met een Raspberry Pi en de inferentieprestaties enorm kan versnellen.
Edge TPU op Raspberry Pi met TensorFlow Lite (Nieuw)⭐
De bestaande handleiding van Coral over het gebruik van de Edge TPU met een Raspberry Pi is verouderd, en de huidige Coral Edge TPU runtime builds werken niet meer met de huidige TensorFlow Lite runtime versies. Daarnaast lijkt Google het Coral project volledig te hebben verlaten en zijn er geen updates geweest tussen 2021 en 2024. Deze handleiding laat je zien hoe je de Edge TPU werkend krijgt met de nieuwste versies van de TensorFlow Lite runtime en een bijgewerkte Coral Edge TPU runtime op een Raspberry Pi single board computer (SBC).
Vereisten
- Raspberry Pi 4B (2GB of meer aanbevolen) of Raspberry Pi 5 (aanbevolen)
- Raspberry Pi OS Bullseye/Bookworm (64-bit) met desktop (aanbevolen)
- Koraal USB-versneller
- Een niet-ARM-gebaseerd platform voor het exporteren van een Ultralytics PyTorch model
Installatie doorloop
Deze handleiding gaat ervan uit dat je al een werkende Raspberry Pi OS installatie hebt en het volgende hebt geïnstalleerd ultralytics
en alle afhankelijkheden. Om ultralytics
geïnstalleerd, bezoek dan de snelstartgids om in te stellen voordat je hier verder gaat.
De runtime Edge TPU installeren
Eerst moeten we de Edge TPU runtime installeren. Er zijn veel verschillende versies beschikbaar, dus je moet de juiste versie voor jouw besturingssysteem kiezen.
Raspberry Pi OS | Hoogfrequente modus | Versie om te downloaden |
---|---|---|
Bullseye 32bit | Geen | libedgetpu1-std_ ... .bullseye_armhf.deb |
Bullseye 64bit | Geen | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32bit | Ja | libedgetpu1-max_ ... .bullseye_armhf.deb |
Bullseye 64bit | Ja | libedgetpu1-max_ ... .bullseye_arm64.deb |
Boekenwurm 32bit | Geen | libedgetpu1-std_ ... .bookworm_armhf.deb |
Boekenwurm 64bit | Geen | libedgetpu1-std_ ... .bookworm_arm64.deb |
Boekenwurm 32bit | Ja | libedgetpu1-max_ ... .bookworm_armhf.deb |
Boekenwurm 64bit | Ja | libedgetpu1-max_ ... .bookworm_arm64.deb |
Download de nieuwste versie hier.
Nadat je het bestand hebt gedownload, kun je het installeren met het volgende commando:
Na het installeren van de runtime moet je je Coral Edge TPU aansluiten op een USB 3.0 poort van je Raspberry Pi. Dit komt omdat, volgens de officiële handleiding, een nieuwe udev
regel moet van kracht worden na de installatie.
Belangrijk
Als je de Coral Edge TPU runtime al hebt geïnstalleerd, verwijder deze dan met het volgende commando.
Exporteer je model naar een Edge TPU compatibel model
Om de Edge TPU te gebruiken, moet je je model converteren naar een compatibel formaat. Het wordt aanbevolen om export uit te voeren op Google Colab, x86_64 Linux machine, met de officiële Ultralytics Docker container, of met Ultralytics HUB, omdat de Edge TPU compiler niet beschikbaar is op ARM. Zie de Exportmodus voor de beschikbare argumenten.
Exporteren
Het geëxporteerde model wordt opgeslagen in de <model_name>_saved_model/
map met de naam <model_name>_full_integer_quant_edgetpu.tflite
.
Het model uitvoeren
Nadat je je model hebt geëxporteerd, kun je er inferentie mee uitvoeren met de volgende code:
Hardlopen
Op de pagina Voorspellen vind je uitgebreide informatie over de voorspellingsmodus.
Belangrijk
Je moet het model uitvoeren met tflite-runtime
en niet tensorflow
.
Als tensorflow
is geïnstalleerd, verwijder dan tensorflow met het volgende commando:
Installeer/updat tflite-runtime
:
Als je een tflite-runtime
wiel voor tensorflow
2.15.0 downloaden van hier en installeer het met pip
of een pakketbeheerder naar keuze.