Advertentie
TensorFlow is de Neural Network-bibliotheek van Google. Aangezien machine learning momenteel het populairste is, is het geen verrassing dat Google tot de leiders in deze nieuwe technologie behoort.
In dit artikel leert u hoe u TensorFlow op de Raspberry Pi installeert en eenvoudige beeldclassificatie uitvoert op een vooraf getraind neuraal netwerk.
Ermee beginnen
Om aan de slag te gaan met beeldherkenning, heb je een Raspberry Pi nodig (elk model werkt) en een SD-kaart met het Raspbian Stretch (9.0+) besturingssysteem (als je nieuw bent bij de Raspberry Pi, gebruik dan onze installatie gids).
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 - versie. python3 - versie
U kunt voor deze zelfstudie zowel Python 2.7 als Python 3.4+ gebruiken. Dit voorbeeld is voor Python 3. Vervang voor Python 2.7 Python3 met Python, en pip3 met Pip gedurende 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 installeren voor Linux-instructies Python PIP installeren op Windows, Mac en LinuxVeel Python-ontwikkelaars vertrouwen op een tool genaamd PIP voor Python om de ontwikkeling te stroomlijnen. Hier leest u hoe u Python PIP installeert. Lees verder in dit artikel om het te installeren.
TensorFlow installeren
TensorFlow installeren was vroeger een behoorlijk frustrerend proces, maar een recente update maakt het ongelooflijk eenvoudig. Hoewel u deze tutorial zonder enige voorkennis kunt volgen, is het wellicht de moeite waard om de basisprincipes van machine learning voordat je het uitprobeert.
Installeer voordat u TensorFlow installeert Atlas bibliotheek.
sudo apt libatlas-base-dev installeren
Zodra dat is voltooid, installeert u TensorFlow via pip3
pip3 install --user tensorflow
Dit zal TensorFlow installeren voor de ingelogde gebruiker. Als u liever een virtuele omgeving Leer hoe u de Python virtuele omgeving gebruiktOf je nu een ervaren Python-ontwikkelaar bent of net begint, het leren van het opzetten van een virtuele omgeving is essentieel voor elk Python-project. Lees verder , wijzig hier uw code om dit weer te geven.
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 nano of vim (Als u niet zeker weet welke u moet gebruiken, ze hebben allebei voordelen) 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. hallo = tf.constant ('Hallo, TensorFlow!') sess = tf. Sessie() print (sess.run (hallo))
Als u nano gebruikt, sluit u af door op te drukken Ctrl + X en sla uw bestand op door te typen Y als daarom gevraagd wordt.
Voer de code uit vanaf de terminal:
python3 tftest.py.
U zou "Hallo, TensorFlow" moeten zien verschijnen.
Als u Python 3.5 gebruikt, krijgt u verschillende runtime-waarschuwingen. De officiële TensorFlow-zelfstudies erkennen dat dit gebeurt en raden u aan dit te negeren.
Het werkt! Nu iets interessants doen met TensorFlow.
De Image Classifier installeren
Maak in de terminal een directory voor het project in uw homedirectory en navigeer erin.
mkdir tf1. cd tf1.
TensorFlow heeft een git-repository met voorbeeldmodellen om uit te proberen. Kloon de repository in de nieuwe directory:
git kloon https://github.com/tensorflow/models.git.
U wilt het voorbeeld van de beeldclassificatie gebruiken, dat u kunt vinden op modellen / tutorials / image / imagenet. Navigeer nu naar die map:
cd-modellen / tutorials / image / imagenet.
Het standaard script voor het classificeren van afbeeldingen wordt uitgevoerd met een bijgeleverde afbeelding van een panda:
Voer het volgende in om de standaardclassificatie van afbeeldingen uit te voeren met de opgegeven panda-afbeelding:
python3 classify_image.py.
Dit voedt een afbeelding van een panda naar het neurale netwerk, dat gissingen retourneert over wat de afbeelding is met een waarde voor zijn mate van zekerheid.
Zoals het outputbeeld laat zien, raadde het neurale net correct, met een zekerheid van bijna 90 procent. Het dacht ook dat de afbeelding een custardappel zou bevatten, maar hij had niet veel vertrouwen in dat antwoord.
Een aangepaste afbeelding gebruiken
Het pandabeeld bewijst dat TensorFlow werkt, maar dat is misschien niet verwonderlijk gezien het voorbeeld dat het project geeft. Voor een betere test kunt u uw eigen afbeelding aan het neurale net geven voor classificatie.
In dit geval zult u zien of het TensorFlow-neurale net George kan identificeren.
Maak kennis met George. George is een dinosaurus. Om deze afbeelding te voeden (beschikbaar in bijgesneden vorm hier) in het neurale net, voeg argumenten toe tijdens het uitvoeren van het script.
python3 classify_image.py --image_file = / home / pi / george.jpg.
De image_file = Door de scriptnaam te volgen, kan elke afbeelding per pad worden toegevoegd. Laten we eens kijken hoe dit neurale net deed.
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 potentie. Deze objectherkenning vindt plaats op de Pi en heeft geen internetverbinding nodig om te functioneren. Dit betekent dat met de toevoeging van een Raspberry Pi cameramodule en een Accu geschikt voor Raspberry Pikan het hele project draagbaar worden.
De meeste tutorials krassen alleen op het oppervlak van een onderwerp, maar het is nooit zo waar geweest als in dit geval. Machine learning is een ongelooflijk dicht vak.
Een manier om uw kennis verder uit te breiden is door een speciale cursus volgen Deze machine learning-cursussen bereiden een carrièrepad voor u voorDeze uitstekende online machine learning-cursussen helpen u de vaardigheden te begrijpen die nodig zijn om een carrière in machine learning en kunstmatige intelligentie te starten. Lees verder . In de tussentijd kun je aan de slag met machine learning en de Raspberry Pi met deze TensorFlow-projecten die je zelf kunt proberen.
Ian Buckley is freelance journalist, muzikant, artiest en videoproducent en woont in Berlijn, Duitsland. Als hij niet schrijft of op het podium staat, sleutelt hij aan doe-het-elektronica of code in de hoop een gekke wetenschapper te worden.