Annons

TensorFlow är Googles bibliotek för Neural Network. Med tanke på att maskininlärning är den hetaste saken just nu är det ingen överraskning att Google är bland de ledande inom denna nya teknik.

I den här artikeln kommer du att lära dig hur du installerar TensorFlow på Raspberry Pi och kör enkel bildklassificering i ett förutbildat neuralt nätverk.

Komma igång

För att komma igång med bildigenkänning behöver du ett Raspberry Pi (vilken modell som helst fungerar) och ett SD-kort med operativsystemet Raspbian Stretch (9.0+) (om du är ny på Raspberry Pi, använd vårt installationsguide).

Starta upp Pi och öppna ett terminalfönster. Se till att din Pi är uppdaterad och kontrollera din Python-version.

sudo apt-get-uppdatering. pythonversion. python3 - version

Du kan använda både Python 2.7 eller Python 3.4+ för denna handledning. Detta exempel är för Python 3. För Python 2.7, byt ut python3 med Pytonorm, och PIP3 med pip hela denna tutorial.

Pip är en pakethanterare för Python, vanligtvis installerad som standard på Linux-distributioner.

Om du tycker att du inte har det följer du installera för Linux-instruktioner Hur man installerar Python PIP på Windows, Mac och LinuxMånga Python-utvecklare förlitar sig på ett verktyg som heter PIP för Python för att effektivisera utvecklingen. Så här installerar du Python PIP. Läs mer i den här artikeln för att installera den.

Installera TensorFlow

Det var en ganska frustrerande process att installera TensorFlow, men en ny uppdatering gör det otroligt enkelt. Även om du kan följa denna självstudie utan förkunskaper, kan det vara värt att förstå grunderna i maskininlärning innan du testar det.

Innan du installerar TensorFlow, installera Atlas bibliotek.

sudo apt install libatlas-base-dev

När det är klart installerar TensorFlow via pip3

pip3 installera - användarens tensorflöde

Detta kommer att installera TensorFlow för den inloggade användaren. Om du föredrar att använda a virtuell miljö Lär dig hur du använder den virtuella Python-miljönOavsett om du är en erfaren Python-utvecklare, eller om du bara är igång, är det viktigt att lära sig att ställa in en virtuell miljö för alla Python-projekt. Läs mer , ändra din kod här för att återspegla detta.

Testa TensorFlow

När det har installerats kan du testa om det fungerar med TensorFlow-motsvarigheten till a Hej världen!

Skapa ett nytt Python-skript med hjälp av kommandoraden nano eller vim (Om du inte är säker på vilken du ska använda, båda har fördelar) och ge det något 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. hej = tf.constant ('Hej, TensorFlow!') sess = tf. Session() tryck (sess.run (hej))

Om du använder nano, avsluta genom 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 bör se "Hej, TensorFlow" tryckt.

Om du kör Python 3.5, får du flera varning om körning. De officiella TensorFlow-självstudierna erkänner att detta händer och rekommenderar att du ignorerar det.

TensorFlow och Python3.5 - Felaktigt ignorerbart

Det fungerar! Nu för att göra något intressant med TensorFlow.

Installera Image Classifier

Skapa en katalog för projektet i hemkatalogen i terminalen och navigera in i den.

mkdir tf1. cd tf1. 

TensorFlow har ett gitförvar med exempelmodeller att testa. Klona förvaret i den nya katalogen:

git klon https://github.com/tensorflow/models.git. 

Du vill använda bildklassificeringsexemplet, som du hittar på modeller / tutorials / bild / IMAGEnet. Navigera till den mappen nu:

cd-modeller / tutorials / image / imagenet. 

Det standardbildsklassificeringsskriptet körs med en medföljande bild av en panda:

Liten TensorFlow Panda

För att köra standardbildsklassificeringen med den medföljande pandabilden, ange:

python3 classify_image.py. 

Detta matar en bild av en panda till det neurala nätverket, vilket ger gissningar om vad bilden är med ett värde för dess säkerhetsnivå.

TensorFlow Panda Classifying Output

Som utgångsbilden visar, gissades nervnätet korrekt, med nästan 90 procent säkerhet. Den trodde också att bilden kan innehålla ett vaniljsås äpple, men det var inte särskilt säkert med det svaret.

Använda en anpassad bild

Pandabilden visar att TensorFlow fungerar, men det är kanske inte förvånande eftersom det är exemplet som projektet ger. För ett bättre test kan du ge din egen bild till nervnätet för klassificering.

I det här fallet ser du om TensorFlow-nervnätet kan identifiera George.

George dinosaurien

Möt George. George är en dinosaurie. För att mata den här bilden (tillgänglig i beskuren form här) i neuralnätet, lägg till argument när du kör skriptet.

python3 classify_image.py --image_file = / home / pi / george.jpg. 

De image_file = att följa skriptnamnet tillåter tillägg av alla bilder per väg. Låt oss se hur detta neurala nät gjorde det.

TensorFlow Dinosaur Classification Output

Inte dåligt! Medan George inte är en triceratops, klassificerade nervnätet bilden som en dinosaurie med en 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. Detta innebär att med tillägg av en Raspberry Pi kameramodul och a Raspberry Pi-lämplig batterienhet, kan hela projektet gå bärbart.

De flesta självstudier kliar bara ytan på ett ämne, men det har aldrig varit santare än i detta fall. Maskininlärning är ett otroligt tätt ämne.

Ett sätt att ta din kunskap vidare skulle vara genom ta en dedikerad kurs Dessa maskininlärningskurser kommer att förbereda en karriärväg för digDessa utmärkta online maskinlärningskurser hjälper dig att förstå de färdigheter som krävs för att starta en karriär inom maskininlärning och artificiell intelligens. Läs mer . Under tiden kan du ta hand om maskininlärning och Raspberry Pi med dessa TensorFlow-projekt kan du prova själv.

Ian Buckley är frilansjournalist, musiker, artist och videoproducent bosatt i Berlin, Tyskland. När han inte skriver eller på scenen tänker han på DIY-elektronik eller kod i hopp om att bli en gal forskare.