Overslaan naar inhoud

Coral Edge TPU op een Raspberry Pi met Ultralytics YOLOv8 🚀

Raspberry Pi single board computer met USB Edge TPU versneller

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

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:

sudo dpkg -i path/to/package.deb

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.

# If you installed the standard version
sudo apt remove libedgetpu1-std 

# If you installed the high frequency version
sudo apt remove libedgetpu1-max 

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

from ultralytics import YOLO

# Load a model
model = YOLO('path/to/model.pt')  # Load an official model or custom model

# Export the model
model.export(format='edgetpu')
yolo export model=path/to/model.pt format=edgetpu  # Export an official model or custom model

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

from ultralytics import YOLO

# Load a model
model = YOLO('path/to/edgetpu_model.tflite')  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png  # Load an official model or custom model

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:

pip uninstall tensorflow tensorflow-aarch64

Installeer/updat tflite-runtime:

pip install -U 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.



Gemaakt op 2024-02-12, Bijgewerkt op 2024-04-27
Auteurs: glenn-jocher (3), Skillnoob (1)

Reacties