Annonse

TensorFlow er Googles bibliotek for nevrale nettverk. Gitt at maskinlæring er det hotteste i øyeblikket, er det ingen overraskelse at Google er blant lederne innen denne nye teknologien.

I denne artikkelen lærer du hvordan du installerer TensorFlow på Raspberry Pi, og kjører enkel bildeklassifisering i et ferdig trent nevralt nettverk.

Starter

For å komme i gang med bildegjenkjenning, trenger du et Raspberry Pi (hvilken som helst modell vil fungere) og et SD-kort med Raspbian Stretch (9.0+) operativsystem (hvis du er ny på Raspberry Pi, bruk vårt installasjonsveiledning).

Start opp Pi og åpne et terminalvindu. Forsikre deg om at Pi-en er oppdatert, og sjekk Python-versjonen.

sudo apt-get oppdatering. python - versjon. python3 - versjon

Du kan bruke både Python 2.7 eller Python 3.4+ for denne opplæringen. Dette eksemplet er for Python 3. For Python 2.7, bytt ut Python3 med Python, og PIP3 med pip gjennom denne opplæringen.

Pip er en pakkebehandler for Python, vanligvis installert som standard på Linux-distribusjoner.

instagram viewer

Hvis du finner ut at du ikke har det, følg deretter installer for Linux instruksjoner Slik installerer du Python PIP på Windows, Mac og LinuxMange Python-utviklere er avhengige av et verktøy som heter PIP for Python for å effektivisere utviklingen. Slik installerer du Python PIP. Les mer i denne artikkelen for å installere den.

Installere TensorFlow

Det var en veldig frustrerende prosess å installere TensorFlow, men en fersk oppdatering gjør det utrolig enkelt. Selv om du kan følge denne opplæringen uten forkunnskaper, kan det være verdt å forstå grunnleggende om maskinlæring før du prøver det.

Før du installerer TensorFlow, må du installere Atlas bibliotek.

sudo apt install libatlas-base-dev

Når det er ferdig, installer TensorFlow via pip3

pip3 install - brukerens tensorflow

Dette vil installere TensorFlow for den påloggede brukeren. Hvis du foretrekker å bruke en virtuelt miljø Lær hvordan du bruker det virtuelle Python-miljøetEnten du er en erfaren Python-utvikler, eller bare kommer i gang, er det viktig å lære hvordan du konfigurerer et virtuelt miljø for ethvert Python-prosjekt. Les mer , endre koden din her for å gjenspeile dette.

Testing av TensorFlow

Når den er installert, kan du teste om den fungerer med TensorFlow-ekvivalenten til a Hei Verden!

Opprett et nytt Python-script fra kommandolinjen nano eller vim (Hvis du ikke er sikker på hvilken du skal bruke, de har begge fordeler) og navngi det noe lett å huske.

sudo nano tftest.py. 

Skriv inn denne koden, levert av Google for å teste TensorFlow:

importer tensorflow som tf. hallo = tf.constant ('Hei, TensorFlow!') sess = tf. Økt() print (sess.run (hei))

Hvis du bruker nano, avslutter du ved å trykke på Ctrl + X og lagre filen din ved å skrive Y når du blir bedt om det.

Kjør koden fra terminalen:

python3 tftest.py. 

Du bør se “Hello, TensorFlow” skrevet ut.

Hvis du kjører Python 3.5, vil du få flere advarsler om kjøretid. De offisielle TensorFlow-veiledningene erkjenner at dette skjer, og anbefaler deg å ignorere det.

TensorFlow og Python3.5 - ignorbar feil

Det fungerer! Nå for å gjøre noe interessant med TensorFlow.

Installere Image Classifier

I terminalen lager du en katalog for prosjektet i hjemmekatalogen og navigerer inn i den.

mkdir tf1. cd tf1. 

TensorFlow har et git-lager med eksempler på modeller for å prøve ut. Klon depotet i den nye katalogen:

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

Du vil bruke eksemplet på bildeklassifisering, som du finner på modeller / tutorials / bilde / imagenet. Naviger til den mappen nå:

cd-modeller / tutorials / image / imagenet. 

Det standard bildeklassifiseringsskriptet kjører med et gitt bilde av en panda:

Tiny TensorFlow Panda

For å kjøre standard bildeklassifiserer med det medfølgende panda-bildet, skriv:

python3 classify_image.py. 

Dette mater et bilde av en panda til det nevrale nettverket, som gir gjetninger om hva bildet er med en verdi for dets sikkerhetsnivå.

TensorFlow Panda Classifying Output

Som utgangsbildet viser, gjettet nevrale nettet riktig, med nesten 90 prosent sikkerhet. Den trodde også at bildet kan inneholde et vaniljesaus eple, men det var ikke veldig selvsikker med det svaret.

Bruke et tilpasset bilde

Pandabildet beviser at TensorFlow fungerer, men det er kanskje overraskende gitt det er eksemplet prosjektet gir. For en bedre test kan du gi ditt eget bilde til nevrale nett for klassifisering.

I dette tilfellet ser du om TensorFlow nevrale nett kan identifisere George.

George dinosauren

Møt George. George er en dinosaur. For å mate dette bildet (tilgjengelig i beskåret form) her) i det nevrale nettet, legg til argumenter når du kjører skriptet.

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

De image_file = å følge skriptnavnet tillater tillegg av et bilde etter sti. La oss se hvordan dette nevrale nettet gjorde det.

TensorFlow Dinosaur Classification Output

Ikke verst! Mens George ikke er en triceratops, klassifiserte nevrale nettet bildet som en dinosaur med en høy grad av sikkerhet sammenlignet med de andre alternativene.

TensorFlow og Raspberry Pi, Klar til å gå

Denne grunnleggende implementeringen av TensorFlow har allerede potensiale. Denne objektgjenkjenningen skjer på Pi, og trenger ingen internettforbindelse for å fungere. Dette betyr at med tillegg av en Raspberry Pi kameramodul og Raspberry Pi-passende batterienhet, kan hele prosjektet bli bærbart.

De fleste tutorials klør bare på overflaten til et emne, men det har aldri vært sannere enn i dette tilfellet. Maskinlæring er et utrolig tett fag.

En måte å ta kunnskapen din videre på ville vært tar et dedikert kurs Disse maskinlæringskursene vil forberede en karrierevei for degDisse utmerkede maskinlæringskursene på nettet vil hjelpe deg å forstå ferdighetene som trengs for å starte en karriere innen maskinlæring og kunstig intelligens. Les mer . I mellomtiden kan du ta hånd om maskinlæring og Raspberry Pi med disse TensorFlow-prosjektene du kan prøve selv.

Ian Buckley er frilansjournalist, musiker, utøver og videoprodusent bosatt i Berlin, Tyskland. Når han ikke skriver eller på scenen, tisser han med DIY-elektronikk eller kode i håp om å bli en gal forsker.