Alles over de Google Coral USB-accelerator

De Google Coral USB-accelerator Titelafbeelding

Op een van onze YouTube-video's over kunstmatige intelligentie schreef een commentator dat hij niet zo geïnteresseerd was in een mysterieuze AI-doos. Dat inspireerde me om een artikel te schrijven om het mysterie te ontrafelen. Dus hier is alles wat je moet weten over de Google Koraal USB-accelerator.

De Coral USB Accelerator is primair ontworpen voor AI-toepassingen aan de rand met laag stroomverbruik.

Het is geschikt voor taken zoals beeld- en videoanalyse, objectdetectie en spraakherkenning op apparaten zoals Raspberry Pi of laptops.

Overzicht

In het kort is de Google Coral USB Accelerator een processor die gebruik maakt van een Tensor Processing Unit (TPU), wat een geïntegreerd circuit is dat erg goed is in het doen van matrixvermenigvuldigingen en optellingen.

Matrixvermenigvuldiging is het materiaal dat je nodig hebt om neurale netwerken te bouwen.

En je zult zeker niet ver komen als je alleen neurale netwerken probeert te bouwen op je Raspberry Pi.

Als zodanig voegt de versneller nog een processor toe die specifiek bedoeld is om de lineaire algebra te doen die nodig is voor machinaal leren.

Zoals je waarschijnlijk wel weet, is het idee achter machine learning het ontwikkelen van modellen die patronen analyseren en leren uit een dataset. Deze dataset heeft verschillende inputs en overeenkomstige outputs. Eenmaal getraind kunnen deze modellen nieuwe inputs aannemen, de geleerde patronen synthetiseren en de juiste outputs of voorspellingen genereren.

Google Koraal USB-versneller

TPU's werken veel sneller en met veel minder energie dan CPU's voor machine learning, omdat ze geen andere programma's draaien en geen toegang hoeven te hebben tot gedeeld geheugen.

De TPU op de Coral USB Accelerator gebruikt TensorFlow Lite, wat een aangepaste versie is voor kleinere apparaten.

De Coral USB-accelerator gebruiken

Wat er vooral geweldig aan is, is hoe toegankelijk het AI-ontwikkeling maakt.

Aan de slag gaan is een koud kunstje.

Echt, alles wat je nodig hebt is een Google Coral USB Accelerator (uiteraard) en een computer met een vrije USB-poort en Python 3.5 of hoger.

En het is het vermelden waard dat het werkt met Mac, Windows en Linux (specifiek Debian-gebaseerde besturingssystemen, zoals Ubuntu of het Raspberry Pi OS). Dus je kunt het zeker aan de praat krijgen.

Wanneer je hem instelt, moet je beslissen of je hem op maximale klokfrequentie of op verlaagde klokfrequentie wilt laten draaien. De maximale klokfrequentie is uiteraard krachtiger, maar verbruikt ook meer stroom. En het kan ongelooflijk heet worden.

De achterkant van de Google Coral

Een beeldherkenningsmodel uitvoeren

Op de Google Koraal websiteZe bieden een prachtige test om te laten zien hoe de Coral USB Accelerator werkt. In hun voorbeeld is het in staat om verschillende vogels te herkennen met een behoorlijk opmerkelijke nauwkeurigheid.

Dit is dus hoe je het beeldherkenningsmodel op je Raspberry Pi draait. Dit werkt perfect met de verlaagde klokfrequentie.

Trap het gaspedaal nog niet in.

Ga eerst naar de terminal en typ de volgende code in om de Edge TPU repository toe te voegen:

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

sudo apt-get update

Installeer vervolgens de runtime:

sudo apt-get install libedgetpu1-std

Nu kun je de versneller aansluiten zodat alles synchroon loopt. Zodra je het hebt aangesloten, moet je PyCoral installeren:

sudo apt-get install python3-pycoral

En nu kun je het model in gebruik nemen. Eerst download je de code:

mkdir coral && cd coral

git clone https://github.com/google-coral/pycoral.git

cd pycoral

Voer dan het volgende uit:

bash examples/install_requirements.sh classify_image.py

En tot slot voer je het model uit:

python3 examples/classify_image.py \
--model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--labels test_data/inat_bird_labels.txt \
--input test_data/parrot.jpg

De uitvoer ziet er ongeveer zo uit:

Papegaai uitgang

Je kunt zien dat de invoer "parrot.jpg" was en het model las het correct als een Scarlet Macaw, met .75 betrouwbaarheid in nauwkeurigheid.

Ik vond een foto van een noordelijke kardinaal en haalde die door het model en dit is wat het me opleverde.

Noordelijke kardinaal Uitgang

Zoals je kunt zien, gaf het een supernauwkeurige meting met een betrouwbaarheid van .91.

Dus toen wilde ik zien wat er zou gebeuren als ik het een foto van een kat gaf.

Cat Uitgang

Hoewel ik helemaal begrijp waarom hij dacht dat de kat een grote hoornuil was, was ik verbaasd over zijn zelfvertrouwen.

Ik probeerde het foto's van mensen te laten herkennen en te bepalen welke vogels het waren, maar helaas werkte het niet mee.

Maar voel je vrij om te experimenteren en kijk wat je eruit kunt halen. Geef hieronder commentaar met de resultaten!

Conclusie

Dat is het dan. Hoewel de ultraslanke buitenkant misschien een beetje mystiek overkomt, is de Google Coral USB Accelerator geen mysteriedoos.

Het is een krachtige processor die AI naar randapparaten kan brengen.

Dus of je nu bezig bent met IoT, robotica of een idee hebt om AI in alledaagse apparaten te verwerken, de Coral USB Accelerator is je ticket. Hoewel ik je het voorbeeld gaf van een beeldherkenningsmodel, kan de versneller veel verder gaan - videoherkenning, objectdetectie, on-device transfer learning, enz.

We hebben ook een AIY Maker Kit die dit allemaal mogelijk maakt - bekijk deze video:

Als je geïnteresseerd bent in AI, kun je onze Inleiding tot kunstmatige intelligentie.

En als je geïnteresseerd bent in het zelf maken van enkele AI-projecten, kun je enkele projecten bekijken die gebruikmaken van AI in onze serie Paragon-projecten.

Wat bent u van plan te doen met de versneller?

8 Opmerkingen

  1. adam m op september 6, 2023 op 6:17 am

    lubie jak w artykule są przykłady z życia wzięte. dobry fachowy artykuł 🙂

  2. David Thomas op september 6, 2023 op 4:17 pm

    "Commenter schreef dat ze niet zo geïnteresseerd waren in een mysterieuze AI-doos" - Ik neem aan dat de commenter wel specifieke redenen aangaf.

    De meest zorgwekkende redenen zijn het gebrek aan provenance van ML outputs en het onvermogen om deze te leveren voor mogelijke regelgeving.

    Waar men een ML uitvoert, biedt hiervoor geen oplossing.

  3. David Thomas op september 6, 2023 op 4:19 pm

    correctie:
    "Commenter schreef dat ze niet zo geïnteresseerd waren in een mysterieuze AI-doos" - Ik denk dat de commenter geen specifieke redenen aangaf.

    De meest zorgwekkende redenen zijn het gebrek aan provenance van ML outputs en het onvermogen om deze te leveren voor mogelijke regelgeving.

    Waar men een ML uitvoert, biedt hiervoor geen oplossing.

    • Adam op september 12, 2023 op 11:25 am

      Interessant punt, David.

  4. Nick op september 8, 2023 op 12:19 pm

    а что быстрее: GPU of TPU???

    • Adam op september 8, 2023 op 3:40 pm

      Для искусственного интеллекта, TPU. Безусловно, быстрее.

  5. Nerds 2 You op april 23, 2024 op 12:46 am

    Het zou geweldig zijn als de verbinding niet na een uur werd verbroken en het opnieuw opstarten of loskoppelen en aansluiten nodig was om het weer aan de praat te krijgen.

Laat een reactie achter