Aan de slag met beeldherkenning met TensorFlow en Raspberry Pi
TensorFlow is de Neural Network-bibliotheek van Google. Gezien het feit dat machine learning momenteel het hotste is, is het geen verrassing dat Google een van de leiders in deze nieuwe technologie is.
In dit artikel leer je hoe je TensorFlow op de Raspberry Pi kunt installeren en eenvoudige beeldclassificatie kunt uitvoeren op een vooraf getraind neuraal netwerk.
Ermee beginnen
Om aan de slag te gaan met beeldherkenning, hebt u een Raspberry Pi (elk model zal werken) en een SD-kaart met het Raspbian Stretch (9.0+) besturingssysteem nodig (als u de Raspberry Pi nieuw bent, gebruik dan onze installatiehandleiding). Start de Pi op en open een terminalvenster. Zorg ervoor dat je Pi up-to-date is en controleer je Python-versie.
sudo apt-get update python --version python3 --version
Je kunt zowel Python 2.7 als Python 3.4+ gebruiken voor deze tutorial. Dit voorbeeld is voor Python 3. Vervang Python 2.7 door python3 met Python, en PIP3 met Pip tijdens deze tutorial.
Pip is een pakketbeheerder voor Python, meestal standaard geïnstalleerd op Linux-distributies. Als je merkt dat je het niet hebt, volg dan de installatie voor Linux instructies Hoe installeer je PIP voor Python op Windows, Mac en Linux Hoe installeer je PIP voor Python op Windows, Mac en Linux Veel Python-ontwikkelaars vertrouwen op een tool genaamd PIP voor Python om alles veel eenvoudiger en sneller te maken. Hier is hoe u PIP installeert. Lees Meer in dit artikel om het te installeren.
TensorFlow installeren
Het installeren van TensorFlow was een behoorlijk frustrerend proces, maar een recente update maakt het ongelooflijk eenvoudig. Hoewel je deze tutorial kunt volgen zonder enige voorkennis, is het misschien de moeite waard om de basisprincipes van machinaal leren te leren kennen voordat je het uitprobeert.
Installeer de. Voordat u TensorFlow installeert Atlas bibliotheek.
sudo apt install libatlas-base-dev
Als dat klaar is, installeert u TensorFlow via pip3
pip3 install --user tensorflow
Hiermee wordt TensorFlow voor de aangemelde gebruiker geïnstalleerd. Als u liever een virtuele omgeving gebruikt Leer hoe u de virtuele omgeving van Python gebruikt Leer hoe u de virtuele omgeving van Python gebruikt Of u nu een ervaren Python-ontwikkelaar bent of u bent nog maar net begonnen, het leren van een virtuele omgeving is essentieel voor elke Python-project. Lees meer, pas hier uw code aan om dit te weerspiegelen.
TensorFlow testen
Nadat het is geïnstalleerd, kunt u testen of het werkt met het TensorFlow-equivalent van a Hallo Wereld!
Maak vanaf de opdrachtregel een nieuw Python-script met behulp van nano of vim (Als je niet zeker weet welke je moet gebruiken, hebben ze allebei voordelen nano vs. vim: Terminal Text Editors vergeleken met nano versus vim: Terminal Text Editors vergeleken Hoewel Linux gemakkelijk genoeg is geworden voor praktisch iedereen om te gebruiken zonder ooit te hoeven gebruiken de Terminal, er zijn sommigen van ons die het regelmatig gebruiken of nieuwsgierig zijn naar hoe iemand ... Lees meer) kan sturen en noem het iets dat gemakkelijk te onthouden is.
sudo nano tftest.py
Voer deze code in, verstrekt door Google voor het testen van TensorFlow:
import tensorflow als tf hello = tf.constant ('Hallo, TensorFlow!') sess = tf.Session () print (sess.run (hallo))
Als u nano gebruikt, sluit u af door op te drukken Ctrl + X en sla je bestand op door te typen Y als daarom gevraagd wordt.
Voer de code uit vanaf de terminal:
python3 tftest.py
Je zou moeten zien “Hallo, TensorFlow” afgedrukt. Als u Python 3.5 gebruikt, krijgt u verschillende runtime-waarschuwingen. De officiële tutorials van TensorFlow erkennen dat dit gebeurt en negeren het.
Het werkt! Nu iets interessants doen met TensorFlow.
De Image Classifier installeren
Maak in de terminal een map voor het project in uw thuismap en navigeer erin.
mkdir tf1 cd tf1
TensorFlow heeft een git-repository met voorbeeldmodellen om uit te proberen. Kloon de repository in de nieuwe map:
git clone https://github.com/tensorflow/models.git
U wilt het voorbeeld van de afbeeldingclassificatie gebruiken, dat u kunt vinden op modellen / tutorials / image / imagenet. Navigeer nu naar die map:
cd-modellen / zelfstudies / image / imagenet
Het standaard beeldclassificerende script wordt uitgevoerd met een meegeleverde afbeelding van een panda:
Ga als volgt te werk om de standaard afbeeldingsclassificator met de geleverde panda-afbeelding te gebruiken:
python3 classify_image.py
Dit voedt een afbeelding van een panda naar het neurale netwerk, dat schattingen teruggeeft wat het beeld is met een waarde voor zijn niveau van zekerheid.
Zoals de uitvoerafbeelding laat zien, raadde het neurale net correct, met een bijna 90 procent zekerheid. Het dacht ook dat het beeld een custardappel zou kunnen bevatten, maar het had niet veel vertrouwen in dat antwoord.
Een aangepaste afbeelding gebruiken
Het panda-imago bewijst dat TensorFlow werkt, maar dat is misschien niet verrassend gezien het voorbeeld dat het project biedt. Voor een betere test kunt u uw eigen afbeelding aan het neurale net geven voor classificatie. In dit geval zul je zien of het TensorFlow neurale net George kan identificeren.
Ontmoet George. George is een dinosaurus. Voer deze argumenten in bij het uitvoeren van het script om deze afbeelding (hier in uitgesneden vorm) in het neurale net te voeden.
python3 classify_image.py --image_file = / home / pi / george.jpg
De Image_File = na het volgen van de scriptnaam kan elke afbeelding per pad worden toegevoegd. Laten we eens kijken hoe dit neurale net werkte.
Niet slecht! Hoewel George geen triceratops is, classificeerde het neurale net het beeld als een dinosaurus met een hoge mate van zekerheid in vergelijking met de andere opties.
TensorFlow en Raspberry Pi, klaar voor gebruik
Deze basisimplementatie van TensorFlow heeft al potentieel. Deze objectherkenning gebeurt op de Pi en heeft geen internetverbinding nodig om te functioneren. Dit betekent dat met de toevoeging van een Raspberry Pi-cameramodule en een Raspberry Pi-geschikte batterijeenheid, het hele project draagbaar zou kunnen worden.
De meeste tutorials krassen alleen op het oppervlak van een onderwerp, maar het is nog nooit zo waar geweest als in dit geval. Machinaal leren is een ongelooflijk dicht onderwerp. Een manier om uw kennis verder te brengen, is door een speciale cursus te volgen. Deze machine-leercursussen zullen een carrièrepad voor u voorbereiden Deze machine-leercursussen zullen een carrièrepad voor u voorbereiden Deze uitstekende online machine-leercursussen zullen u helpen de vaardigheden te begrijpen die nodig zijn om start een carrière in machine learning en kunstmatige intelligentie. Lees verder . Doe ondertussen hands-on met machine learning en de Raspberry Pi met deze TensorFlow-projecten kunt u zelf proberen.
Ontdek meer over: Google TensorFlow, Image Recognition, Raspberry Pi.