Cet article résume la procédure d'installation de Raspberry Pi 4 et Coral USB Accelerator en tant que méthode d'apprentissage automatique avec des périphériques Edge.
** Raspberry Pi 4 ** est la dernière génération de modèles actuels. Les performances du processeur et de la mémoire ont été considérablement améliorées et il prend également en charge USB 3.0.
** Coral USB Accelerator ** est un ASIC dédié de Google développé par Google pour l'apprentissage automatique sur les appareils de périphérie.
Cet ASIC dédié est appelé Edge TPU et vous pouvez utiliser le travail de flocon de TensorFlow Lite, qui se spécialise dans la réalisation d'inférences à la périphérie. De plus, nous ne prenons en charge que le travail en flocons de TensorFlow Lite. De plus, une connexion USB 3.0 est nécessaire pour maximiser les performances de l'accélérateur USB Coral. En résumé, le Raspberry Pi 4 est un excellent moyen de tirer le meilleur parti de votre accélérateur USB Coral.
Raspberry Pi4 Bien que cela ne soit pas officiellement pris en charge, Google a fourni une image Raspbery Pi pré-compilée appelée ** Plateformes Edge TPU ** pour utiliser Edge TPU.
Il dispose d'un modèle de classification d'images formé intégré, etc., qui sera utile pour l'apprentissage automatique avec Raspberry Pi.
Nous expliquerons la procédure d'utilisation de l'image de Raspberry Pi 4 à partir des plates-formes EdgeTPU.
Veuillez noter que l'interface du Raspberry Pi 4 a été modifiée en ** USB Type-C ** pour l'alimentation et ** Micro HDMI ** pour HDMI.
EdgeTPU Platforms
** Si vous démarrez avec l'image téléchargée, vous devrez étendre le système de fichiers pour l'adapter à la taille de votre carte SD. ** **
La zone système (/) avant l'extension du système de fichiers est dans l'état suivant.
pi@raspberrypi:~ $ df -h
Taille du système de fichiers utilisée Reste utilisé%Position de montage
/dev/root 3.3G 3.0G 100M 97% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mmcblk0p1 253M 41M 213M 16% /boot
tmpfs 386M 0 386M 0% /run/user/1000
Exécutez la commande suivante pour démarrer raspi-config
et fonctionner de manière interactive.
$ sudo raspi-config
Tout d'abord, sélectionnez ** "7 Options avancées" **.
Sélectionnez ensuite A1 Expand File system.
Cliquez sur OK.
Exécutez la commande suivante pour redémarrer.
$ sudo systemctl reboot
Après le redémarrage, vous pouvez voir que la zone système (/) a été étendue.
pi@raspberrypi:~ $ df -h
Taille du système de fichiers utilisée Reste utilisé%Position de montage
/dev/root 29G 3.1G 24G 12% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mmcblk0p1 253M 41M 213M 16% /boot
tmpfs 386M 0 386M 0% /run/user/1000
Coral USB Accelerator Pour utiliser Coral USB Accelerator, vous devez procéder comme suit:
Pour communiquer avec Edge TPU, installez le runtime Edge TPU. De plus, une bibliothèque, etc. est requise pour utiliser TensorFlow Lite avec Python. Dans cet article, nous allons installer une simple bibliothèque tflite_runtime pour utiliser le modèle TensorFlow Lite en Python.
Ouvrez la boîte contenant l'accélérateur USB Coral.
Connectez l'accélérateur USB Coral au Raspberry Pi 4. USB3.0 a une interface ** bleue </ font> **.
--Ajout d'un référentiel
$ 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
--Installation
$ sudo apt-get install libedgetpu1-std
--Télécharger la bibliothèque
$ wget https://dl.google.com/coral/python/tflite_runtime-1.14.0-cp37-cp37m-linux_armv7l.whl
--Installation de la bibliothèque
$ pip3 install tflite_runtime-1.14.0-cp37-cp37m-linux_armv7l.whl
Classification des images en référence à Premiers pas avec l'accélérateur USB Lançons la machine.
$ python3 classify_image.py --model models/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite --labels models/inat_bird_labels.txt --input images/parrot.jpg
INFO: Initialized TensorFlow Lite runtime.
----INFERENCE TIME----
Note: The first inference on Edge TPU is slow because it includes loading the model into Edge TPU memory.
18.6ms
4.6ms
4.6ms
4.6ms
4.6ms
-------RESULTS--------
Ara macao (Scarlet Macaw): 0.76562
J'ai utilisé TensorFlow Lite pour effectuer l'inférence sur Edge TPU. À propos, le résultat de sortie lorsqu'il est exécuté avec USB 2.0 est le suivant. Vous pouvez voir qu'il est plus lent que USB3.0.
INFO: Initialized TensorFlow Lite runtime.
----INFERENCE TIME----
Note: The first inference on Edge TPU is slow because it includes loading the model into Edge TPU memory.
120.5ms
11.5ms
11.5ms
11.7ms
11.6ms
-------RESULTS--------
Ara macao (Scarlet Macaw): 0.76562
Vous pouvez désormais effectuer l'apprentissage automatique sur les appareils de périphérie.
Ensuite, créez un modèle avec TensorFlow et convertissez le modèle en TensorFlow Lite.