[PYTHON] Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator

Einführung

Dieser Artikel fasst den Installationsvorgang von Raspberry Pi 4 und Coral USB Accelerator als Methode des maschinellen Lernens mit Edge-Geräten zusammen.

** Raspberry Pi 4 ** ist die neueste Generation der aktuellen Modelle. Die CPU- und Speicherleistung wurde erheblich verbessert und es wird auch USB 3.0 unterstützt.

写真 2020-02-17 0 31 29.jpg

** Coral USB Accelerator ** ist Googles dedizierter ASIC, der von Google für maschinelles Lernen auf Edge-Geräten entwickelt wurde.

写真 2019-12-30 0 02 35.jpg

Dieser dedizierte ASIC wird als Edge-TPU bezeichnet, und Sie können die Flockenarbeit von TensorFlow Lite verwenden, das sich darauf spezialisiert hat, Schlussfolgerungen am Rand zu ziehen. Darüber hinaus unterstützen wir nur Flockenarbeiten von TensorFlow Lite. Darüber hinaus ist eine USB 3.0-Verbindung erforderlich, um die Leistung des Coral USB Accelerator zu maximieren. Zusammenfassend ist der Raspberry Pi 4 eine großartige Möglichkeit, Ihren Coral USB Accelerator optimal zu nutzen.

Raspberry Pi4 Obwohl nicht offiziell unterstützt, hat Google ein vorkompiliertes Raspbery Pi-Image mit dem Namen ** Edge TPU Platforms ** für die Verwendung von Edge TPU bereitgestellt.

Es verfügt über ein integriertes trainiertes Bildklassifizierungsmodell usw., das für das maschinelle Lernen mit Raspberry Pi nützlich ist.

Wir werden das Verfahren zur Verwendung des Abbilds von Raspberry Pi 4 von EdgeTPU Platforms erläutern.

Bitte beachten Sie, dass die Schnittstelle des Raspberry Pi 4 für das Netzteil auf ** USB Typ C ** und für HDMI auf ** Micro HDMI ** geändert wurde.

EdgeTPU Platforms

  1. Laden Sie das Bild ** Raspberry Pi 4, Buster, Edgetpu 2.11.1 ** von [google-coral / edgetpu-platform] herunter (https://github.com/google-coral/edgetpu-platforms). ..
  2. Schreiben Sie das heruntergeladene Bild auf die SD-Karte. Informationen zum Schreiben auf die SD-Karte finden Sie unter Raspberry Pi Basics, das ich zuvor geschrieben habe.
  3. Starten Sie nach dem Schreiben auf die SD-Karte Raspberry Pi und führen Sie die Ersteinrichtung durch.

** Wenn Sie mit dem heruntergeladenen Image booten, müssen Sie das Dateisystem an die Größe Ihrer SD-Karte anpassen. ** **.

Dateisystemerweiterung

Der Systembereich (/) vor der Dateisystemerweiterung befindet sich im folgenden Status.

pi@raspberrypi:~ $ df -h
Verwendete Dateisystemgröße Verbleibende Verwendung%Montageposition
/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

Führen Sie den folgenden Befehl aus, um raspi-config zu starten und interaktiv zu arbeiten.

$ sudo raspi-config

スクリーンショット 2019-12-30 17.38.27.png

Wählen Sie zunächst ** "7 Erweiterte Optionen" **.

スクリーンショット 2019-12-30 17.38.38.png

Wählen Sie dann A1 Dateisystem erweitern.

スクリーンショット 2019-12-30 17.38.54.png

OK klicken.

スクリーンショット 2019-12-30 17.39.42.png

Führen Sie den folgenden Befehl aus, um neu zu starten.

$ sudo systemctl reboot

Nach dem Neustart sehen Sie, dass der Systembereich (/) erweitert wurde.

pi@raspberrypi:~ $ df -h
Verwendete Dateisystemgröße Verbleibende Verwendung%Montageposition
/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 Um den Coral USB Accelerator zu verwenden, müssen Sie folgende Schritte ausführen:

Installieren Sie die Edge-TPU-Laufzeit, um mit der Edge-TPU zu kommunizieren. Darüber hinaus ist eine Bibliothek usw. erforderlich, um TensorFlow Lite mit Python verwenden zu können. In diesem Artikel installieren wir eine einfache tflite_runtime-Bibliothek, um das TensorFlow Lite-Modell in Python zu verwenden.

Vorbereitungsarbeiten

Öffnen Sie die Box mit dem Coral USB Accelerator.

写真 2019-12-30 17 08 16.jpg

Schließen Sie den Coral USB Accelerator an den Raspberry Pi 4 an. USB3.0 verfügt über eine ** blaue </ font> ** Schnittstelle.

写真 2020-02-16 23 52 49.jpg

Installieren Sie die Edge TPU-Laufzeit

  • Hinzufügen eines Repositorys $ 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

Installieren der TensorFlow Lite-Bibliothek

  • Bibliothek herunterladen $ wget https://dl.google.com/coral/python/tflite_runtime-1.14.0-cp37-cp37m-linux_armv7l.whl

--Installation der Bibliothek $ pip3 install tflite_runtime-1.14.0-cp37-cp37m-linux_armv7l.whl

Ausführen der TensorFlow Lite-API

Bildklassifizierung unter Bezugnahme auf Erste Schritte mit dem USB-Beschleuniger Lassen Sie uns die Maschine laufen.

$ 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

Ich habe TensorFlow Lite verwendet, um Inferenzen auf der Edge-TPU durchzuführen. Übrigens ist das Ausgabeergebnis bei Ausführung mit USB 2.0 wie folgt. Sie können sehen, dass es langsamer als USB3.0 ist.

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

abschließend

Jetzt können Sie maschinell auf Edge-Geräten lernen.

Erstellen Sie als Nächstes ein Modell mit TensorFlow und konvertieren Sie das Modell in TensorFlow Lite.

Referenz

Recommended Posts

Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
Haustierüberwachung mit Rekognition und Raspberry pi
Versuchen Sie die Objekterkennung mit Raspberry Pi 4 + Coral
MQTT Radicon Car mit Arduino und Himbeere
Holen Sie sich Temperatur und Luftfeuchtigkeit mit DHT11 und Raspberry Pi
GPGPU mit Raspberry Pi
DigitalSignage mit Raspberry Pi
Einfaches IoT, um mit Raspeye und MESH zu beginnen
Einfaches maschinelles Lernen mit Scikit-Learn und Flask ✕ Web App
Ermitteln Sie den Tragezustand der Maske mit OpenCV und Raspberry Pi
Messen Sie Temperatur und Luftfeuchtigkeit mit Raspberry Pi3 und visualisieren Sie mit Ambient
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
USB-Boot mit Raspberry Pi 4 Modell B (3) LVM Edition
Praktisches maschinelles Lernen mit Scikit-Learn und TensorFlow-TensorFlow gab auf-
Fehlerbehebung bei der Installation von OpenCV auf Raspberry Pi und der Erfassung
Zeigen Sie das Bild der USB-Kamera mit OpenCV von Python mit Raspeye an
Maschinelles Lernen mit Pokemon gelernt
Mutter pflanzt mit Raspberry Pi
Maschinelles Lernen mit Python! Vorbereitung
Maschinelles Lernen Minesweeper mit PyTorch
Maschinelles Lernen und mathematische Optimierung
Beginnend mit maschinellem Python-Lernen
Versuchen Sie es mit Kaggle leicht maschinell
[Maschinelles Lernen] Starten Sie Spark mit iPython Notebook und probieren Sie MLlib aus
Einfache Einführung in Home Hack mit Raspberry Pi und discord.py
Erstellen Sie mit VirtualBox und Ubuntu eine Scikit-Lernumgebung für maschinelles Lernen
Erstellen Sie eine WEB-Überwachungskamera mit Raspberry Pi und OpenCV
Python-Anfänger öffnet und schließt die ineinandergreifende Kamera mit Raspberry Pi
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
Ich habe versucht, Raspeye und conect + mit der Web-API zu verbinden
Herstellung eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (1)
Messen und vergleichen Sie Temperaturen mit Raspberry Pi und generieren Sie automatisch Diagramme
Maschinelles Lernen mit Nogisaka 46 und Keyakizaka 46 Teil 1 Einführung
Raspberry Pi + Python + IoT-Gerät, Umgebungskonstruktionsverfahren zum Starten der Bildverarbeitung und des maschinellen Lernens
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Servomotorsteuerung mit Raspberry Pi
USB über Ethernet mit Raspberry pi
MQTT auf Raspberry Pi und Mac
Bedeutung des maschinellen Lernens und des Mini-Batch-Lernens
[Maschinelles Lernen] Versuchen Sie, Spark MLlib mit Python auszuführen, und geben Sie Empfehlungen ab
Serielle Kommunikation mit Raspberry Pi + PySerial
Ich habe maschinelles Lernen mit liblinear versucht
Maschinelles Lernen mit Python (1) Gesamtklassifizierung
Weihnachtsklassiker (?) Einen Weihnachtsbaum mit Raspberry Pi und Philips Hue anzünden
Betriebssystem-Setup mit Raspberry Pi Imager
Klassifikation und Regression beim maschinellen Lernen
Machen Sie ein Thermometer mit Raspberry Pi und machen Sie es im Browser Teil 4 sichtbar
SVM versucht maschinelles Lernen mit Scikit-Learn
Probieren Sie L Chika mit Himbeerpi
Erstellen Sie einen Kanji-Kompass mit Raspberry Pi und Sense Hat
Organisation von Plattformen für maschinelles Lernen und tiefes Lernen
Aufbau eines VPN-Servers mit Raspberry Pie
Grafische Darstellung des Stromverbrauchs im Haushalt mit 3GPI und Raspeye
[Lesehinweis] Praktisches maschinelles Lernen mit Scikit-Learn, Keras und TensorFlow Kapitel 1
Versuchen Sie, 3 Servos mit Raspeye zu bewegen
"Gauß-Prozess und maschinelles Lernen" Gauß-Prozessregression nur mit Python-Numpy implementiert
Quanteninspiriertes maschinelles Lernen mit Tensornetzwerken
Erstellen von Raspberry Pi zum Lernen von Python und maschinellem Lernen (RaspberryPi4 & Buster-Version (RaspberryPi3 ist ebenfalls möglich))
Beginnen Sie mit dem maschinellen Lernen mit SageMaker