Allt om Google Coral USB Accelerator

Google Coral USB Accelerator Titelbild

I en av våra YouTube-videor om artificiell intelligens skrev en kommentator att de inte var så intresserade av en mystisk AI-låda. Det inspirerade mig till att skriva en artikel som avslöjade mysteriet. Så här är allt du behöver veta om Google Coral USB Accelerator.

Coral USB Accelerator är främst avsedd för AI-tillämpningar med låg effekt.

Den är lämplig för uppgifter som bild- och videoanalys, objektdetektering och taligenkänning på enheter som Raspberry Pi eller bärbara datorer.

Översikt

I korthet är Google Coral USB Accelerator en processor som använder en Tensor Processing Unit (TPU), vilket är en integrerad krets som är riktigt bra på att göra matrismultiplikation och -addition.

Matrismultiplikation är det du behöver för att bygga neurala nätverk.

Och du kommer definitivt inte att komma särskilt långt om du försöker bygga neurala nätverk enbart med din Raspberry Pi.

Acceleratorn lägger alltså till ytterligare en processor som är särskilt dedikerad till att utföra den linjära algebra som krävs för maskininlärning.

Som du säkert vet är tanken bakom maskininlärning att utveckla modeller som analyserar och lär sig mönster från en datamängd. Denna dataset har olika ingångar och motsvarande utgångar. När modellerna väl har tränats kan de ta emot nya indata, syntetisera de inlärda mönstren och generera lämpliga utdata eller förutsägelser.

Google Coral USB-accelerator

TPU:er arbetar mycket snabbare och med mycket mindre energi än CPU:er för maskininlärning, eftersom de inte kör andra program och inte behöver komma åt delat minne.

TPU:n på Coral USB Accelerator använder TensorFlow Lite, som är en modifierad version för mindre enheter.

Använda Coral USB Accelerator

Det som är särskilt bra med den är hur tillgänglig den gör AI-utveckling.

Det är enkelt att komma igång.

Allt du behöver är en Google Coral USB Accelerator (såklart) och en dator med en ledig USB-port och Python 3.5 eller senare.

Och det är värt att nämna att det fungerar med Mac, Windows och Linux (särskilt Debian-baserade operativsystem, som Ubuntu eller Raspberry Pi OS). Så du kan vara säker på att få igång det.

När du ställer in den måste du bestämma om du vill att den ska köras med maximal klockfrekvens eller reducerad klockfrekvens. Maximal klockfrekvens är naturligtvis mer kraftfullt, men det kommer också att använda mer ström. Och det kan bli otroligt varmt.

Baksidan av Google Coral

Körning av en bildigenkänningsmodell

På den Webbplats Google Coralerbjuder de ett underbart test för att visa hur Coral USB Accelerator fungerar. I deras exempel kan den känna igen olika fåglar med ganska anmärkningsvärd noggrannhet.

Så här kör du bildigenkänningsmodellen på din Raspberry Pi. Detta kommer att fungera perfekt med den reducerade klockfrekvensen.

Tryck inte på gaspedalen ännu.

Först måste du gå till terminalen och skriva in följande kod för att lägga till Edge TPU-förvaret:

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

Installera sedan runtime:

sudo apt-get install libedgetpu1-std

Nu kan du koppla in acceleratorn så att allt är synkroniserat. När du har kopplat in den behöver du installera PyCoral:

sudo apt-get install python3-pycoral

Och nu kan du få igång modellen. Först laddar du ner koden:

mkdir coral && cd coral

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

cd pycoral

Kör sedan följande:

bash examples/install_requirements.sh classify_image.py

Och slutligen kör du modellen:

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

Resultatet ser ut ungefär så här:

Papegoja Utgång

Du kan se att inmatningen var "parrot.jpg" och att modellen korrekt läste den som en scharlakansröd ara, med 0,75 konfidensgrad för noggrannheten.

Jag hittade en bild på en kardinal och körde den genom modellen och här är vad den gav mig.

Produktion av kardinal

Som du kan se gav den en mycket exakt mätning med 0,91 konfidensgrad.

Så jag ville se vad som skulle hända om jag matade den med en bild på en katt.

Kat Utgång

Även om jag helt förstår varför den trodde att katten var en hornuggla, blev jag förvånad över hur självsäker den var.

Jag försökte få den att känna igen bilder på människor och avgöra vilka fåglar det var, men tyvärr ville den inte samarbeta.

Men du är välkommen att experimentera och se vad du kan få ut av det. Kommentera nedan med resultaten!

Slutsats

Så där har du det. Google Coral USB Accelerator är ingen mystisk låda, även om dess eleganta yttre kan ge en känsla av mystik.

Det är en kraftfull processor som kan ge AI till avancerade enheter.

Så oavsett om du sysslar med IoT, robotteknik eller har en idé om hur AI kan användas i vardagliga enheter så är Coral USB Accelerator din biljett. Även om jag gav dig exemplet med en bildigenkänningsmodell kan acceleratorn gå mycket längre - videoigenkänning, objektdetektering, överföringsinlärning på enheten osv.

Vi har också ett AIY Maker Kit som gör allt detta möjligt - kolla in den här videon:

Om du är intresserad av AI kan du kolla in vår Introduktion till artificiell intelligens.

Och om du är intresserad av att göra några AI-projekt själv kan du kolla in några projekt som använder AI i vår serie Paragon Projects.

Vad planerar ni att göra med acceleratorn?

8 Kommentarer

  1. adam m den september 6, 2023 kl 6:17 f m

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

    • Adam den september 6, 2023 kl 8:03 f m

      Dzięki!

  2. David Thomas den september 6, 2023 kl 4:17 e m

    "kommentatorn skrev att de inte var så intresserade av en mystisk AI-låda" - Jag antar att kommentatorn inte uttryckte några specifika skäl.

    De mest oroande skälen är avsaknaden av proveniens från ML-utdata och oförmågan att tillhandahålla sådan för eventuella bestämmelser.

    Var man driver en ML ger inget för detta.

  3. David Thomas den september 6, 2023 kl 4:19 e m

    korrigering:
    "kommentatorn skrev att de inte var så intresserade av en mystisk AI-låda" - Jag antar att kommentatorn inte uttryckte några specifika skäl.

    De mest oroande skälen är avsaknaden av proveniens från ML-utdata och oförmågan att tillhandahålla sådan för eventuella bestämmelser.

    Var man driver en ML ger inget för detta.

    • Adam den september 12, 2023 kl 11:25 f m

      Intressant synpunkt, David.

  4. Nick den september 8, 2023 kl 12:19 e m

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

    • Adam den september 8, 2023 kl 3:40 e m

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

  5. Nerds 2 You den april 23, 2024 kl 12:46 f m

    Det skulle vara bra om den inte kopplades bort efter en timme och krävde antingen en omstart eller att man kopplar ur och ansluter för att få den att fungera igen.

Lämna en kommentar