Oglas

TensorFlow je Googlova knjižnica Nevronske mreže. Glede na to, da je strojno učenje trenutno najbolj vroča zadeva, ne preseneča, da je Google med vodilnimi v tej novi tehnologiji.

V tem članku boste izvedeli, kako namestiti TensorFlow na Raspberry Pi in zagnati preprosto klasifikacijo slik v vnaprej usposobljeni nevronski mreži.

Uvod

Če želite začeti s prepoznavanjem slike, boste potrebovali Raspberry Pi (kateri koli model bo deloval) in SD kartico z operacijskim sistemom Raspbian Stretch (9.0 ali novejši) (če ste novi uporabnik Raspberry Pi, uporabite naš navodila za namestitev).

Zaženite Pi in odprite okno terminala. Prepričajte se, da je vaš Pi posodobljen, in preverite svojo različico Python.

sudo apt-get update. python --verzija. python3 - pretvorba

Za to vadbo lahko uporabite Python 2.7 ali Python 3.4 ali novejšo različico. Ta primer je za Python 3. Za Python 2.7 zamenjajte Python3 s Python, in pip3 s pipo v celotni tej vadnici.

Pip je skrbnik paketov za Python, ki je običajno nameščen kot standard v distribucijah Linuxa.

instagram viewer

Če ugotovite, da ga nimate, sledite navodilom namestite za navodila za Linux Kako namestiti Python PIP v Windows, Mac in LinuxŠtevilni razvijalci Python-a se za racionalizacijo razvoja zanašajo na orodje, imenovano PIP, za Python. Tukaj je postopek namestitve Python PIP. Preberi več v tem članku, da ga namestite.

Namestitev TensorFlow

Namestitev sistema TensorFlow je bila precej moteč postopek, vendar pa je nedavna posodobitev zelo preprosta. Čeprav lahko sledite tej vadbi brez predhodnega znanja, je morda vredno razumeti osnove strojnega učenja preden ga preizkusite.

Preden namestite TensorFlow, namestite Atlas knjižnica.

sudo apt namestite libatlas-base-dev

Ko je to končano, namestite TensorFlow prek pip3

pip3 install - uporabnik tensorflow

To bo namestilo TensorFlow za prijavljenega uporabnika. Če raje uporabite a virtualno okolje Preberite več o uporabi virtualnega okolja PythonNe glede na to, ali ste izkušen razvijalec Python-a ali šele začenjate, učenje o nastavitvi virtualnega okolja je ključnega pomena za vsak Python-ov projekt. Preberi več , tukaj spremenite svojo kodo, da to odraža.

Testiranje TensorFlow

Ko je nameščena, lahko preizkusite, ali deluje z ekvivalentom TensorFlow od a Pozdravljen, svet!

Iz ukazne vrstice ustvarite nov skript Python z uporabo nano ali vim (Če niste prepričani, katero uporabiti, oba imata prednosti) in poimenujte nekaj, kar si ga je enostavno zapomniti.

sudo nano tftest.py. 

Vnesite to kodo, ki jo je zagotovil Google za testiranje TensorFlow:

uvoz tensorflow kot tf. hello = tf.constant ('Pozdravljeni, TensorFlow!') sess = tf. Seja () tisk (sess.run (zdravo))

Če uporabljate nano, izstopite s pritiskom Ctrl + X in shranite datoteko tako, da vtipkate Y ko vas to pozove.

Zaženite kodo iz terminala:

python3 tftest.py. 

Videti bi moralo biti “Hello, TensorFlow” natisnjeno.

Če uporabljate Python 3.5, boste prejeli več opozoril med izvajanjem. Uradne vadnice TensorFlow potrjujejo, da se to zgodi, in priporočajo, da ga ignorirate.

TensorFlow in Python3.5 - Nepomembna napaka

Deluje! Zdaj narediti nekaj zanimivega s TensorFlowom.

Namestitev klasifikatorja slike

V terminalu ustvarite imenik za projekt v domačem imeniku in se pomaknite vanj.

mkdir tf1. cd tf1. 

TensorFlow ima shranjevalnik git s primeri modelov, ki jih je treba preizkusiti. Klonirajte skladišče v novi imenik:

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

Uporabiti želite primer klasifikacije slik, ki ga najdete na modeli / vaje / image / imagenet. Zdaj se pomaknite do te mape:

CD modeli / vaje / image / imagenet. 

Standardni skript za razvrščanje slik se izvaja s priloženo sliko pande:

Tiny TensorFlow Panda

Če želite zagnati standardni klasifikator slike s priloženo sliko pande, vnesite:

python3 classify_image.py. 

S tem se podarja slika pande v nevronsko mrežo, ki vrača ugibanja o tem, kakšna je slika, z vrednostjo za njeno stopnjo gotovosti.

TensorFlow Panda, ki razvršča proizvod

Kot kaže izhodna slika, je nevronska mreža pravilno, s skoraj 90-odstotno gotovostjo, ugibala. Menila je tudi, da slika morda vsebuje kremno jabolko, vendar s tem odgovorom ni bila zelo prepričana.

Uporaba slike po meri

Slika pande dokazuje, da TensorFlow deluje, vendar to morda ni presenetljivo, saj je to primer, ki ga ponuja projekt. Za boljši test lahko svoji nevronski mreži za razvrstitev daste svojo sliko.

V tem primeru boste videli, ali lahko nevronska mreža TensorFlow prepozna Georgea.

George Dinosaur

Spoznajte Georgea. George je dinozaver. Za hranjenje te slike (na voljo v obrezani obliki tukaj) v nevronsko mrežo dodajte argumente med izvajanjem skripta.

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

The image_file = Naslednje ime skripta omogoča dodajanje katere koli slike po poti. Poglejmo, kako je to storila nevronska mreža.

TensorFlow Klasifikacija izhodov dinozavrov

Ni slabo! Medtem ko George ni triceratops, je nevronska mreža sliko uvrstila med dinozavra z visoko stopnjo gotovosti v primerjavi z drugimi možnostmi.

TensorFlow in Raspberry Pi, pripravljen za odhod

Osnovna izvedba sistema TensorFlow že ima potencial. To prepoznavanje predmetov se dogaja na Pi-ju in za delovanje ne potrebuje internetne povezave. To pomeni, da z dodatkom a Raspberry Pi modul kamere in a Raspberry Pi-primerna baterijska enota, celoten projekt bi lahko postal prenosljiv.

Večina vadnic samo opraska površino predmeta, vendar nikoli ni bila resnična kot v tem primeru. Strojno učenje je neverjetno gosta tema.

Eden od načinov za nadaljnje znanje bi bil obiskovanje namenskega tečaja Ti tečaji strojnega učenja bodo za vas pripravili poklicno potTi odlični tečaji spletnega strojnega učenja vam bodo pomagali razumeti veščine, potrebne za začetek kariere v strojnem učenju in umetni inteligenci. Preberi več . Medtem se lotite strojnega učenja in Raspberry Pi s temi projekti TensorFlow, ki jih lahko preizkusite sami.

Ian Buckley je svobodni novinar, glasbenik, performer in producent videa, ki živi v Berlinu v Nemčiji. Ko ne piše ali na odru, se ukvarja z lastno elektroniko ali kodo v upanju, da bo postal nor znanstvenik.