Erste Schritte mit der Bilderkennung mit TensorFlow und Raspberry Pi
Werbung
TensorFlow ist die Bibliothek für neuronale Netzwerke von Google. Angesichts der Tatsache, dass maschinelles Lernen derzeit am heißesten ist, ist es keine Überraschung, dass Google bei dieser neuen Technologie führend ist.
In diesem Artikel erfahren Sie, wie Sie TensorFlow auf dem Raspberry Pi installieren und eine einfache Bildklassifizierung in einem vorab trainierten neuronalen Netzwerk ausführen.
Anfangen
Um mit der Bilderkennung beginnen zu können, benötigen Sie einen Raspberry Pi (jedes Modell funktioniert) und eine SD-Karte mit dem Betriebssystem Raspbian Stretch (9.0+) (falls Sie den Raspberry Pi noch nicht kennen, lesen Sie unsere Installationsanleitung).
Booten Sie den Pi und öffnen Sie ein Terminalfenster. Stellen Sie sicher, dass Ihr Pi auf dem neuesten Stand ist, und überprüfen Sie Ihre Python-Version.
sudo apt-get update python --version python3 --version
Sie können für dieses Tutorial sowohl Python 2.7 als auch Python 3.4+ verwenden. Dieses Beispiel bezieht sich auf Python 3. Ersetzen Sie für Python 2.7 Python3 durch Python und pip3 durch pip in diesem Lernprogramm.
Pip ist ein Paketmanager für Python, der normalerweise standardmäßig auf Linux-Distributionen installiert wird.
Befolgen Sie bei der Installation für Linux die Anweisungen zum Installieren von Python PIP unter Windows, Mac und Linux. So installieren Sie Python PIP unter Windows, Mac und Linux. Viele Python-Entwickler verwenden ein Tool namens PIP for Python, um alles einfacher und schneller zu machen. So installieren Sie Python PIP. Lesen Sie mehr in diesem Artikel, um es zu installieren.
TensorFlow installieren
Die Installation von TensorFlow war früher ziemlich frustrierend, aber ein kürzlich durchgeführtes Update macht es unglaublich einfach. Sie können dieses Lernprogramm zwar ohne Vorkenntnisse ausführen, es lohnt sich jedoch möglicherweise, die Grundlagen des maschinellen Lernens zu verstehen, bevor Sie es ausprobieren.
Installieren Sie vor der Installation von TensorFlow die Atlas- Bibliothek.
sudo apt install libatlas-base-dev
Sobald dies abgeschlossen ist, installieren Sie TensorFlow über pip3
pip3 install --user tensorflow
Dadurch wird TensorFlow für den angemeldeten Benutzer installiert. Wenn Sie es vorziehen, eine virtuelle Umgebung zu verwenden, lernen Sie, wie Sie die virtuelle Python-Umgebung verwenden. Lernen Sie, wie Sie die virtuelle Python-Umgebung verwenden Python-Projekt. Lesen Sie mehr, ändern Sie Ihren Code hier, um dies widerzuspiegeln.
TensorFlow testen
Sobald es installiert ist, können Sie testen, ob es mit dem TensorFlow-Äquivalent einer Hello, world!
Erstellen Sie über die Befehlszeile ein neues Python-Skript mit nano oder vim (wenn Sie nicht sicher sind, welches Sie verwenden sollen, haben beide Vorteile) und nennen Sie es etwas, an das Sie sich leicht erinnern können.
sudo nano tftest.py
Geben Sie diesen Code ein, den Google zum Testen von TensorFlow bereitgestellt hat:
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello))
Wenn Sie Nano verwenden, beenden Sie das Programm, indem Sie Strg + X drücken, und speichern Sie Ihre Datei, indem Sie Y eingeben, wenn Sie dazu aufgefordert werden.
Führen Sie den Code vom Terminal aus:
python3 tftest.py
Sie sollten "Hallo, TensorFlow" gedruckt sehen.
Wenn Sie Python 3.5 ausführen, werden mehrere Laufzeitwarnungen angezeigt. Die offiziellen TensorFlow-Tutorials bestätigen dies und empfehlen Ihnen, es zu ignorieren.
Es klappt! Jetzt etwas Interessantes mit TensorFlow machen.
Installieren des Image Classifier
Erstellen Sie im Terminal ein Verzeichnis für das Projekt in Ihrem Ausgangsverzeichnis und navigieren Sie dorthin.
mkdir tf1 cd tf1
TensorFlow hat ein Git-Repository mit Beispielmodellen zum Ausprobieren. Klonen Sie das Repository in das neue Verzeichnis:
git clone https://github.com/tensorflow/models.git
Sie möchten das Bildklassifizierungsbeispiel verwenden, das sich unter models / tutorials / image / imagenet befindet . Navigieren Sie jetzt zu diesem Ordner:
cd models/tutorials/image/imagenet
Das Standard-Bildklassifizierungsskript wird mit einem bereitgestellten Bild eines Pandas ausgeführt:
Geben Sie Folgendes ein, um den Standard-Image-Klassifizierer mit dem bereitgestellten Panda-Image auszuführen:
python3 classify_image.py
Dies speist ein Bild eines Pandas in das neuronale Netzwerk ein, das Vermutungen darüber zurückgibt, was das Bild mit einem Wert für seine Gewissheit ist.
Wie das Ausgabebild zeigt, wurde das neuronale Netz mit fast 90-prozentiger Sicherheit richtig geschätzt. Es dachte auch, dass das Bild einen Puddingapfel enthalten könnte, aber es war mit dieser Antwort nicht sehr überzeugt.
Verwenden eines benutzerdefinierten Bildes
Das Panda-Bild beweist, dass TensorFlow funktioniert, aber das ist vielleicht nicht überraschend, da es das Beispiel des Projekts ist. Für einen besseren Test können Sie dem neuronalen Netz ein eigenes Bild zur Klassifizierung geben.
In diesem Fall sehen Sie, ob das neuronale TensorFlow-Netz George identifizieren kann.
Treffen Sie George. George ist ein Dinosaurier. Fügen Sie beim Ausführen des Skripts Argumente hinzu, um dieses Bild (hier in zugeschnittener Form verfügbar) in das neuronale Netz einzuspeisen.
python3 classify_image.py --image_file=/home/pi/george.jpg
Die Datei image_file = nach dem Skriptnamen ermöglicht das Hinzufügen eines beliebigen Bildes nach Pfad. Mal sehen, wie dieses neuronale Netz funktioniert hat.
Nicht schlecht! Während George kein Triceratop ist, klassifizierte das neuronale Netz das Bild im Vergleich zu den anderen Optionen mit einem hohen Maß an Sicherheit als Dinosaurier.
TensorFlow und Raspberry Pi, bereit zu gehen
Diese grundlegende Implementierung von TensorFlow hat bereits Potenzial. Diese Objekterkennung findet auf dem Pi statt und benötigt keine Internetverbindung, um zu funktionieren. Dies bedeutet, dass mit der Hinzufügung eines Raspberry Pi-Kameramoduls und einer Raspberry Pi-geeigneten Batterieeinheit das gesamte Projekt portabel werden könnte.
Die meisten Tutorials zerkratzen nur die Oberfläche eines Themas, aber es war noch nie wahrer als in diesem Fall. Maschinelles Lernen ist ein unglaublich dichtes Thema.
Eine Möglichkeit, Ihr Wissen weiterzuentwickeln, besteht darin, einen speziellen Kurs zu belegen. Diese maschinellen Lernkurse bereiten einen Karriereweg für Sie vor. Diese maschinellen Lernkurse bereiten einen Karriereweg für Sie vor Starten Sie eine Karriere im Bereich maschinelles Lernen und künstliche Intelligenz. Weiterlesen . In der Zwischenzeit können Sie maschinelles Lernen und den Raspberry Pi mit diesen TensorFlow-Projekten ausprobieren.
Erfahren Sie mehr über: Google TensorFlow, Bilderkennung, Raspberry Pi.