PyCoral : installez la bibliothèque pour Google Coral sur Raspberry Pi 5

Les accélérateurs Google Coral offrent une porte d’entrée pratique à l’intelligence artificielle sur Raspberry Pi. Ce guide détaille les étapes pour installer PyCoral sur un Raspberry Pi 5, en contournant quelques écueils techniques pour obtenir une configuration fonctionnelle.

Préparer l’installation de PyCoral

Ce tutoriel fonctionne avec le Google Coral TPU standard et la version Dual Edge, à condition d’utiliser un HAT PCIe compatible sur votre Raspberry Pi 5.

Le matériel requis

L’essentiel est un Raspberry Pi 5 avec la dernière version de Raspberry Pi OS installée sur une carte microSD, ainsi qu’un HAT PCIe pour connecter votre accélérateur Coral.

Pour une solution intégrée, le HatDrive! AI permet de faire fonctionner le TPU conjointement avec un stockage NVMe rapide.

Configurer le Raspberry Pi 5

Mettre à jour le système

Il est recommandé de s’assurer que le système est à jour. Exécutez ces commandes :

sudo apt update
sudo apt upgrade

Modifier le fichier config.txt

Ouvrez le fichier « /boot/firmware/config.txt » avec un éditeur de texte et ajoutez ces lignes à la fin :

kernel=kernel8.img
dtoverlay=pineboards-hat-ai

Ces lignes activent la connexion PCIe, basculent le noyau vers une taille de bloc de 4 Ko (nécessaire pour le Coral TPU) et chargent un overlay de périphérique spécifique.

Après avoir sauvegardé le fichier, redémarrez avec la commande « sudo reboot ».

Une fois reconnecté, vérifiez la version du noyau avec « uname –a ». La présence de « v8 » à la fin confirme le basculement du noyau. Vous pouvez aussi vérifier que le Coral est détecté avec « lspci | grep Coral ». La commande doit renvoyer System peripheral: Global Unichip Corp. Coral Edge TPU. En cas d’absence, vérifiez les connexions physiques et les étapes précédentes.

Installer les pilotes pour le Coral TPU

Consultez notre guide dédié pour configurer le Google Coral TPU sur Raspberry Pi 5.

Installer Docker sur Raspberry Pi 5

Suivez les instructions officielles de Docker pour ajouter son dépôt apt :

# Ajouter la clé GPG officielle de Docker :
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Ajouter le dépôt aux sources Apt :
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Cela ajoute la clé GPG, installe les paquets nécessaires et intègre le dépôt Docker.

Installez ensuite les paquets Docker :

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Après confirmation, Docker est prêt.

Créer un conteneur Docker pour PyCoral

Avec Docker installé, nous pouvons créer le conteneur. Nous utilisons un Dockerfile préexistant.

Créez un fichier nommé « Dockerfile » avec ce contenu :

FROM debian:10
WORKDIR /home
ENV HOME /home
RUN cd ~
RUN apt-get update
RUN apt-get install -y git nano python3-pip python-dev pkg-config wget usbutils curl
RUN echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" \
| tee /etc/apt/sources.list.d/coral-edgetpu.list
RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
RUN apt-get update
RUN apt-get install -y edgetpu-examples

Construisez ensuite l’image :

sudo docker build –t "coral" .

Tester le conteneur Docker PyCoral

Vérifiez d’abord que le périphérique /dev/apex_0 est présent :

ls /dev | grep apex_0

Il doit afficher apex_0. Sinon, vérifiez les connexions et les étapes antérieures.

Initialisez maintenant le conteneur Docker, passez-lui le périphérique et lancez un invite BASH :

sudo docker run -it --device /dev/apex_0:/dev/apex_0 coral /bin/bash

Dans l’invite du conteneur, exécutez un exemple d’inférence :

python3 /usr/share/edgetpu/examples/classify_image.py \
--model /usr/share/edgetpu/examples/models/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--label /usr/share/edgetpu/examples/models/inat_bird_labels.txt \
--image /usr/share/edgetpu/examples/images/bird.bmp

Le résultat attendu est similaire à :

---------------------------
Poecile atricapillus (Black-capped Chickadee)
Score :  0.44140625
---------------------------
Poecile carolinensis (Carolina Chickadee)
Score :  0.29296875

Appuyez sur CTRL+D pour quitter le conteneur et revenir au système principal.

Conclusion

Les accélérateurs Google Coral TPU constituent une solution abordable pour s’initier à l’exécution de logiciels comme Frigate, sans solliciter excessivement le processeur du Pi. Combiné avec le HatDrive AI, cela forme une plateforme idéale pour vos premiers pas en IA.

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :