Tutto sull'acceleratore USB Google Coral

L'acceleratore USB Google Coral Titolo immagine

In uno dei nostri video di YouTube sull'intelligenza artificiale, un commentatore ha scritto che non era interessato a una scatola misteriosa di intelligenza artificiale. Questo mi ha ispirato a scrivere un articolo per svelare il mistero. Ecco quindi tutto quello che c'è da sapere su l'acceleratore USB Google Coral.

L'acceleratore USB Coral è stato progettato principalmente per applicazioni di intelligenza artificiale a basso consumo.

È adatto a compiti come l'analisi di immagini e video, il rilevamento di oggetti e il riconoscimento vocale su dispositivi come Raspberry Pi o laptop.

Panoramica

In breve, l'acceleratore USB Google Coral è un processore che utilizza una Tensor Processing Unit (TPU), un circuito integrato che è molto bravo a eseguire moltiplicazioni e addizioni matriciali.

La moltiplicazione delle matrici è necessaria per costruire reti neurali.

E sicuramente non andrete molto lontano se cercate di costruire reti neurali solo con il vostro Raspberry Pi.

In questo modo, l'acceleratore aggiunge un altro processore dedicato specificamente all'esecuzione dell'algebra lineare necessaria per l'apprendimento automatico.

Come probabilmente sapete, l'idea alla base dell'apprendimento automatico è quella di sviluppare modelli che analizzino e imparino modelli da un insieme di dati. Questo set di dati ha vari input e output corrispondenti. Quindi, una volta addestrati, questi modelli possono accettare nuovi input, sintetizzare i modelli appresi e generare output o previsioni appropriate.

Acceleratore USB Google Coral

Le TPU funzionano molto più velocemente e con meno energia delle CPU per l'apprendimento automatico, perché non eseguono altri programmi e non devono accedere alla memoria condivisa.

La TPU del Coral USB Accelerator utilizza TensorFlow Lite, una versione modificata per i dispositivi più piccoli.

Utilizzo dell'acceleratore USB Coral

L'aspetto particolarmente interessante è l'accessibilità dello sviluppo dell'intelligenza artificiale.

Iniziare è un gioco da ragazzi.

Tutto ciò che serve è un acceleratore USB Google Coral (ovviamente) e un computer con una porta USB libera e Python 3.5 o superiore.

Vale la pena ricordare che funziona con Mac, Windows e Linux (in particolare con i sistemi operativi basati su Debian, come Ubuntu o il sistema operativo Raspberry Pi). In questo modo sarete sicuri di farlo funzionare.

Quando lo si configura, si deve decidere se farlo funzionare alla massima frequenza di clock o a frequenza di clock ridotta. Ovviamente, la frequenza di clock massima è più potente, ma consuma anche più energia. E può diventare incredibilmente caldo.

Il retro del Google Coral

Esecuzione di un modello di riconoscimento delle immagini

Sul Sito web di Google CoralIl sito offre uno splendido test per mostrare il funzionamento dell'acceleratore USB Coral. Nel loro esempio, è in grado di riconoscere diversi uccelli con un'accuratezza piuttosto notevole.

Ecco come eseguire il modello di riconoscimento delle immagini sul Raspberry Pi. Funzionerà perfettamente anche con la frequenza di clock ridotta.

Non inserite ancora l'acceleratore.

Per prima cosa, è necessario accedere al terminale e digitare il seguente codice per aggiungere il repository Edge TPU:

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

Quindi installare il runtime:

sudo apt-get install libedgetpu1-std

Ora è possibile collegare l'acceleratore in modo che tutto sia sincronizzato. Una volta collegato, è necessario installare PyCoral:

sudo apt-get install python3-pycoral

Ora è possibile mettere in funzione il modello. Per prima cosa, si scarica il codice:

mkdir coral && cd coral

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

cd pycoral

Eseguire quindi quanto segue:

bash examples/install_requirements.sh classify_image.py

Infine, si esegue il modello:

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

Il risultato è simile a questo:

Uscita Parrot

Si può notare che l'input era "pappagallo.jpg" e il modello lo ha letto correttamente come un'ara scarlatta, con un'accuratezza di 0,75 punti.

Ho trovato un'immagine di un cardinale del nord, l'ho inserita nel modello ed ecco cosa mi ha dato.

Uscita del cardinale settentrionale

Come si può vedere, ha fornito una lettura estremamente accurata con un'affidabilità di 0,91.

Così ho voluto vedere cosa sarebbe successo se gli avessi dato in pasto l'immagine di un gatto.

Uscita Cat

Anche se capisco perfettamente perché pensava che il gatto fosse un gufo reale, sono rimasto sorpreso dal suo livello di fiducia.

Ho cercato di fargli riconoscere le immagini di persone e di determinare quali uccelli fossero, ma purtroppo non ha collaborato.

Ma sentitevi liberi di sperimentare e di vedere cosa riuscite a tirarne fuori. Commentate qui sotto con i risultati!

Conclusione

Ecco come stanno le cose. Sebbene l'aspetto esteriore ultra elegante possa dare un senso di misticismo, l'acceleratore USB Google Coral non è una scatola misteriosa.

Si tratta di un potente processore in grado di portare l'intelligenza artificiale sui dispositivi edge.

Quindi, se siete appassionati di IoT, robotica o avete un'idea per portare l'intelligenza artificiale nei dispositivi di tutti i giorni, l'acceleratore USB Coral è il vostro biglietto da visita. Anche se vi ho fatto l'esempio di un modello di riconoscimento delle immagini, l'acceleratore può andare ben oltre: riconoscimento video, rilevamento di oggetti, apprendimento di trasferimento sul dispositivo, ecc.

Abbiamo anche un AIY Maker Kit che rende possibile tutto questo: guardate questo video:

Se siete interessati all'IA, potete dare un'occhiata al nostro sito Introduzione all'intelligenza artificiale.

E se siete interessati a realizzare voi stessi dei progetti di IA, potete dare un'occhiata ad alcuni progetti che fanno uso dell'IA in la nostra serie di Progetti Paragon.

Cosa pensate di fare con l'acceleratore?

8 commenti

  1. adam m in Settembre 6, 2023 il 6:17 am

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

  2. David Thomas in Settembre 6, 2023 il 4:17 pm

    "Il commentatore ha scritto che non era interessato a una scatola misteriosa di AI" - Immagino che il commentatore abbia espresso delle ragioni specifiche.

    Le ragioni più preoccupanti sono la mancanza di provenienza dei risultati del ML e l'incapacità di fornirli per eventuali regolamentazioni.

    Il luogo in cui si gestisce un ML non fornisce nulla a questo proposito.

  3. David Thomas in Settembre 6, 2023 il 4:19 pm

    correzione:
    "Il commentatore ha scritto che non era interessato a una scatola misteriosa di AI" - Immagino che il commentatore non abbia espresso alcuna ragione specifica.

    Le ragioni più preoccupanti sono la mancanza di provenienza dei risultati del ML e l'incapacità di fornirli per eventuali regolamentazioni.

    Il luogo in cui si gestisce un ML non fornisce nulla a questo proposito.

    • Adam in Settembre 12, 2023 il 11:25 am

      Punto interessante, David.

  4. Nick in Settembre 8, 2023 il 12:19 pm

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

    • Adam in Settembre 8, 2023 il 3:40 pm

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

  5. Nerds 2 You in Aprile 23, 2024 il 12:46 am

    Sarebbe fantastico se non si disconnettesse dopo un'ora e non richiedesse un riavvio o uno scollegamento della spina per tornare a funzionare.

Lascia un commento