Tout sur l'accélérateur USB Google Coral

L'accélérateur USB Google Coral Image de titre

Sur l'une de nos vidéos YouTube sur l'intelligence artificielle, un commentateur a écrit qu'il n'était pas très intéressé par une boîte mystérieuse d'intelligence artificielle. Cela m'a incité à écrire un article pour lever le voile sur ce mystère. Voici donc tout ce que vous devez savoir sur l'accélérateur USB Google Coral.

L'accélérateur USB Coral est principalement conçu pour les applications d'intelligence artificielle de pointe à faible consommation d'énergie.

Il convient à des tâches telles que l'analyse d'images et de vidéos, la détection d'objets et la reconnaissance vocale sur des appareils tels que le Raspberry Pi ou les ordinateurs portables.

Vue d'ensemble

En bref, l'accélérateur USB Google Coral est un processeur qui utilise une Tensor Processing Unit (TPU), un circuit intégré très performant pour effectuer des multiplications et des additions matricielles.

La multiplication matricielle est l'outil indispensable pour construire des réseaux neuronaux.

Et vous n'irez certainement pas très loin si vous essayez de construire des réseaux neuronaux avec votre seul Raspberry Pi.

En tant que tel, l'accélérateur ajoute un autre processeur dédié spécifiquement à l'algèbre linéaire nécessaire à l'apprentissage automatique.

Comme vous le savez probablement, l'idée derrière l'apprentissage automatique est de développer des modèles qui analysent et apprennent des modèles à partir d'un ensemble de données. Cet ensemble de données comporte diverses entrées et des sorties correspondantes. Une fois entraînés, ces modèles peuvent prendre de nouvelles entrées, synthétiser les modèles appris et générer des sorties ou des prédictions appropriées.

Accélérateur USB Google Coral

Les TPU fonctionnent beaucoup plus rapidement et avec beaucoup moins d'énergie que les CPU pour l'apprentissage automatique, car elles n'exécutent pas d'autres programmes et n'ont pas besoin d'accéder à la mémoire partagée.

Le TPU de l'accélérateur Coral USB Accelerator utilise TensorFlow Lite, une version modifiée pour les petits appareils.

Utilisation de l'accélérateur USB Coral

Ce qui est particulièrement intéressant, c'est l'accessibilité du développement de l'IA.

La mise en route est un jeu d'enfant.

Tout ce dont vous avez besoin, c'est d'un accélérateur USB Google Coral (évidemment), d'un ordinateur avec un port USB libre et de Python 3.5 ou plus.

Il convient de préciser qu'il fonctionne avec Mac, Windows et Linux (en particulier les systèmes d'exploitation basés sur Debian, comme Ubuntu ou le Raspberry Pi OS). Vous êtes donc sûr de pouvoir le faire fonctionner.

Lorsque vous le configurez, vous devez décider si vous voulez qu'il fonctionne à la fréquence d'horloge maximale ou à la fréquence d'horloge réduite. Il est évident que la fréquence d'horloge maximale est plus puissante, mais elle consomme également plus d'énergie. Et il peut devenir incroyablement chaud.

L'arrière du Google Coral

Exécution d'un modèle de reconnaissance d'images

Sur le site Site web de Google CoralIls proposent un test très intéressant pour vous montrer comment fonctionne le Coral USB Accelerator. Dans leur exemple, il est capable de reconnaître différents oiseaux avec une précision assez remarquable.

Voici donc comment exécuter le modèle de reconnaissance d'images sur votre Raspberry Pi. Cela fonctionnera parfaitement avec la fréquence d'horloge réduite.

N'appuyez pas encore sur l'accélérateur.

Tout d'abord, vous devez aller dans le terminal et taper le code suivant pour ajouter le dépôt 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

Installez ensuite le runtime :

sudo apt-get install libedgetpu1-std

Vous pouvez maintenant brancher l'accélérateur pour que tout soit synchronisé. Une fois le tout branché, vous devez installer PyCoral :

sudo apt-get install python3-pycoral

Et maintenant, vous pouvez faire fonctionner le modèle. Tout d'abord, vous devez télécharger le code :

mkdir coral && cd coral

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

cd pycoral

Exécutez ensuite la procédure suivante :

bash examples/install_requirements.sh classify_image.py

Enfin, vous exécutez le modèle :

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

Le résultat ressemble à ceci :

Sortie Parrot

Vous pouvez voir que l'entrée était "parrot.jpg" et que le modèle a correctement lu qu'il s'agissait d'un ara écarlate, avec une précision de 0,75.

J'ai trouvé une photo d'un cardinal du Nord et je l'ai passée au crible du modèle, et voici ce qu'il m'a donné.

Cardinal du Nord Sortie

Comme vous pouvez le voir, il a donné une lecture très précise avec une confiance de 0,91.

J'ai donc voulu voir ce qui se passerait si je lui donnais l'image d'un chat.

Cat Output

Bien que je comprenne parfaitement pourquoi il pensait que le chat était un hibou grand-duc, j'ai été surpris par son niveau de confiance.

J'ai essayé de lui faire reconnaître des photos de personnes et de déterminer de quels oiseaux il s'agissait, mais malheureusement il n'a pas voulu coopérer.

Mais n'hésitez pas à expérimenter et à voir ce que vous pouvez en tirer. Commentez ci-dessous vos résultats !

Conclusion

Et voilà. Bien que son aspect extérieur très élégant puisse donner une impression de mystère, l'accélérateur USB Google Coral n'est pas une boîte à mystères.

Il s'agit d'un processeur puissant qui peut apporter l'IA aux appareils de pointe.

Donc, que vous soyez dans l'IoT, la robotique ou que vous ayez une idée pour introduire l'IA dans les appareils de tous les jours, le Coral USB Accelerator est votre ticket d'entrée. Bien que je vous ai donné l'exemple d'un modèle de reconnaissance d'images, l'accélérateur peut aller beaucoup plus loin - reconnaissance vidéo, détection d'objets, apprentissage par transfert sur l'appareil, etc.

Nous avons également un kit AIY Maker qui rend tout cela possible - regardez cette vidéo :

Si vous vous intéressez à l'IA, vous pouvez consulter notre rubrique Introduction à l'intelligence artificielle.

Et si vous souhaitez réaliser vous-même des projets d'IA, vous pouvez consulter les projets qui utilisent l'IA dans les domaines suivants notre série de projets Paragon.

Que comptez-vous faire avec l'accélérateur ?

8 commentaires

  1. adam m sur septembre 6, 2023 à 6:17 am

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

  2. David Thomas sur septembre 6, 2023 à 4:17 pm

    "Le commentateur a écrit qu'il n'était pas très intéressé par une boîte d'IA mystère" - Je suppose que le commentateur n'a pas exprimé de raisons spécifiques.

    Les raisons les plus préoccupantes sont l'absence de provenance des résultats du ML et l'incapacité de fournir cette provenance pour d'éventuelles réglementations.

    L'endroit où l'on dirige un ML ne fournit rien à cet égard.

  3. David Thomas sur septembre 6, 2023 à 4:19 pm

    correction :
    "Le commentateur a écrit qu'il n'était pas très intéressé par une boîte d'IA mystère" - Je suppose que le commentateur n'a pas exprimé de raisons spécifiques.

    Les raisons les plus préoccupantes sont l'absence de provenance des résultats du ML et l'incapacité de fournir cette provenance pour d'éventuelles réglementations.

    L'endroit où l'on dirige un ML ne fournit rien à cet égard.

    • Adam sur septembre 12, 2023 à 11:25 am

      C'est un point intéressant, David.

  4. Nick sur septembre 8, 2023 à 12:19 pm

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

    • Adam sur septembre 8, 2023 à 3:40 pm

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

  5. Nerds 2 You sur avril 23, 2024 à 12:46 am

    Ce serait bien s'il ne se déconnectait pas au bout d'une heure et ne nécessitait pas un redémarrage ou un débranchement et un rebranchement pour qu'il fonctionne à nouveau.

Laissez un commentaire