Kom igång med bildigenkänning med TensorFlow och Raspberry Pi
TensorFlow är Googles bibliotek för neuralt nätverk. Med tanke på att maskininlärning är den hetaste saken runt för tillfället är det ingen överraskning att Google är ledande inom den här nya tekniken.
I den här artikeln lär du dig att installera TensorFlow på Raspberry Pi, och kör enkel bildklassificering på ett förutbildat neuralt nätverk.
Komma igång
För att komma igång med bildigenkänning behöver du en Raspberry Pi (vilken modell som helst) och ett SD-kort med operativsystemet Raspbian Stretch (9.0+) (om du är ny på Raspberry Pi, använd vår installationsguide). Starta upp Pi och öppna ett terminalfönster. Se till att din Pi är uppdaterad och kolla din Python-version.
sudo apt-få uppdatering python --version python3 - version
Du kan använda både Python 2.7 eller Python 3.4+ för denna handledning. Detta exempel gäller Python 3. För Python 2.7, ersätt python3 med Pytonorm, och PIP3 med pip genom hela denna handledning.
Pip är en pakethanterare för Python, vanligtvis installerad som standard på Linux-distributioner. Om du tycker att du inte har det, följ installationen för Linux-instruktioner Så här installerar du PIP för Python på Windows, Mac och Linux Så här installerar du PIP för Python på Windows, Mac och Linux Många Python-utvecklare är beroende av ett verktyg som heter PIP för Python för att göra allt mycket enklare och snabbare. Så här installerar du PIP. Läs mer i den här artikeln för att installera den.
Installera TensorFlow
Installera TensorFlow brukade vara ganska frustrerande, men en ny uppdatering gör det otroligt enkelt. Medan du kan följa denna handledning utan förkunskaper, kan det vara värt att förstå grunderna för maskininlärning innan du provar det.
Innan du installerar TensorFlow, installera Atlas bibliotek.
sudo apt installa libatlas-base-dev
När det är klart installerar du TensorFlow via pip3
pip3 installera - användarens tensorflow
Detta installerar TensorFlow för den inloggade användaren. Om du föredrar att använda en virtuell miljö Lär dig hur du använder Pythons virtuella miljö Lär dig hur du använder Pythons virtuella miljö Oavsett om du är en erfaren Python-utvecklare, eller om du bara har börjat, är det viktigt att du lär dig hur du installerar en virtuell miljö. Python-projektet. Läs mer, ändra din kod här för att återspegla detta.
Testning av TensorFlow
När den har installerats kan du testa om det fungerar med TensorFlow-motsvarigheten till a Hej världen!
Från kommandoraden skapa ett nytt Python-skript med nano eller vim (Om du inte är säker på vilken som ska användas, har de båda fördelar nano vs vim: Terminal Text Editors Jämfört nano vs vim: Terminal Text Editors Jämfört Även om Linux har blivit tillräckligt lätt för praktiskt taget alla som helst utan att behöva använda Terminal, det finns några av oss som regelbundet använder det eller är nyfiken på hur man kan styra ... Läs mer) och namnge det som är lätt att komma ihåg.
sudo nano tftest.py
Ange den här koden, som tillhandahålls av Google för att testa TensorFlow:
importera tensorflow som tf hello = tf.constant ('Hej, TensorFlow!') sess = tf.Session () print (sess.run (hej))
Om du använder nano, avsluta med att trycka på Ctrl + X och spara din fil genom att skriva Y när du uppmanas.
Kör koden från terminalen:
python3 tftest.py
Du borde se “Hej, TensorFlow” tryckt. Om du kör Python 3.5 får du flera runtime varningar. De officiella TensorFlow-tutorialsna bekräftar att detta händer och att ignorera det.
Det fungerar! Nu för att göra något intressant med TensorFlow.
Installera Image Classifier
I terminalen skapa en katalog för projektet i din hemkatalog och navigera in i den.
mkdir tf1 cd tf1
TensorFlow har ett git repository med exempel modeller att prova. Klona förvaret i den nya katalogen:
git klon https://github.com/tensorflow/models.git
Du vill använda bildklassificeringsexemplet, som finns på modeller / tutorials / bild / IMAGEnet. Navigera till den mappen nu:
cd modeller / handledning / bild / imagenet
Standardbildsklassificeringsskriptet körs med en angiven bild av en panda:
För att köra standardbildsklassifieraren med den angivna pandabilden:
python3 classify_image.py
Detta matar en bild av en panda till det neurala nätverket, vilket ger gissningar om hur bilden är med ett värde för sin säkerhetsnivå.
Som bildbilden visar, visade det neurala nätverket korrekt, med nästan 90 procent säkerhet. Det trodde också att bilden kunde innehålla ett vaniljesapple, men det var inte särskilt säkert med det svaret.
Använda en anpassad bild
Panda-bilden visar att TensorFlow fungerar, men det är kanske otroligt, eftersom det är det exempel som projektet ger. För ett bättre test kan du ge din egen bild till det neurala nätet för klassificering. I det här fallet kommer du att se om TensorFlows neurala nät kan identifiera George.
Möt George. George är en dinosaurie. Om du vill mata den här bilden (tillgänglig i beskuren form här) i det neurala nätet, lägg till argument när du kör skriptet.
python3 classify_image.py --image_file = / home / pi / george.jpg
De image_file = Följande skriptnamn tillåter tillägg av en bild med sökväg. Låt oss se hur detta neurala nät gjorde.
Inte dåligt! Medan George inte är en triceratops klassificerades det neurala nätet bilden som en dinosaurie med hög grad av säkerhet jämfört med de andra alternativen.
TensorFlow och Raspberry Pi, redo att gå
Denna grundläggande implementering av TensorFlow har redan potential. Detta objektigenkänning sker på Pi, och behöver ingen internetanslutning för att fungera. Det innebär att hela projektet kan flyttas med tillägg av en Raspberry Pi-kameramodul och en Raspberry Pi-lämplig batterienhet..
De flesta handledningar skrapar bara ytan på ett ämne, men det har aldrig varit mer trubbel än i det här fallet. Maskininlärning är ett oerhört tätt ämne. Ett sätt att ta dina kunskaper vidare skulle vara genom att ta en särskild kurs. Dessa maskinlärarkurser kommer att förbereda en karriärväg för dig. Dessa maskinlärarkurser kommer att förbereda en karriärväg för dig. Dessa utmärkta kurser för online-maskininlärning hjälper dig att förstå de färdigheter som behövs för att starta en karriär inom maskininlärning och artificiell intelligens. Läs mer . Under tiden får du händerna på maskininlärning och Raspberry Pi med dessa TensorFlow-projekt kan du prova dig själv.
Utforska mer om: Google TensorFlow, Image Recognition, Raspberry Pi.