Skelbimas
„TensorFlow“ yra „Google“ neuronų tinklo biblioteka. Atsižvelgiant į tai, kad šiuo metu mašinų mokymasis yra pats karščiausias dalykas, nenuostabu, kad „Google“ yra tarp šios naujos technologijos lyderių.
Šiame straipsnyje jūs sužinosite, kaip įdiegti „TensorFlow“ ant „Raspberry Pi“, ir atlikti paprastą vaizdų klasifikavimą iš anksto apmokytame neuronų tinkle.
Darbo pradžia
Norėdami pradėti nuo vaizdo atpažinimo, jums reikės „Raspberry Pi“ (veiks bet koks modelis) ir SD kortelės su „Raspbian Stretch“ (9.0 ir naujesnės versijos) operacine sistema (jei jūs dar esate naujokas „Raspberry Pi“, naudokite mūsų montavimo vadovas).
Paleiskite Pi ir atidarykite terminalo langą. Įsitikinkite, kad jūsų Pi yra atnaujintas, ir patikrinkite Python versiją.
„sudo apt-get“ atnaujinimas. python --versija. python3 --versija
Šiai mokymo programai galite naudoti tiek „Python 2.7“, tiek „Python 3.4+“. Šis pavyzdys skirtas „Python 3“. Pakeiskite „Python 2.7“ Python3 su Pythonir pip3 su pip per visą šį vadovėlį.
„Pip“ yra „Python“ paketo tvarkyklė, paprastai įdiegiama kaip standartinė „Linux“ distribucijose.
Jei pastebite, kad neturite, vykdykite Įdiekite „Linux“ instrukcijas Kaip įdiegti Python PIP „Windows“, „Mac“ ir „Linux“Daugelis „Python“ kūrėjų naudojasi įrankiu, vadinamu „PIP for Python“, kad patobulintų plėtrą. Štai kaip įdiegti „Python PIP“. Skaityti daugiau šiame straipsnyje, norėdami jį įdiegti.
„TensorFlow“ diegimas
„TensorFlow“ diegimas anksčiau buvo gana varginantis procesas, tačiau paskutinis atnaujinimas daro jį neįtikėtinai paprastą. Nors galite sekti šią mokymo programą be jokių išankstinių žinių, gali būti verta ją suprasti mašininio mokymosi pagrindai prieš tai išbandydamas.
Prieš diegdami TensorFlow, įdiekite Atlasas biblioteka.
sudo apt įdiegti libatlas-base-dev
Baigę įdiekite „TensorFlow“ per „pip3“
diegti - naudoti tensorflow
Tai leis įdiegti „TensorFlow“ prisijungusiam vartotojui. Jei norite naudoti a virtualioji aplinka Sužinokite, kaip naudotis virtualia Python aplinkaNesvarbu, ar esate patyręs „Python“ kūrėjas, ar dar tik pradedate, bet kokiam „Python“ projektui išmokti nustatyti virtualiąją aplinką yra būtina. Skaityti daugiau , pakeiskite kodą čia, kad tai atspindėtų.
TensorFlow testavimas
Įdiegę galite patikrinti, ar jis veikia su „TensorFlow“ atitikmeniu Labas pasauli!
Iš komandinės eilutės sukurkite naują Python scenarijų naudodami nano arba vim (Jei nežinote, kurį naudoti, jie abu turi pranašumų) ir pavadink tai lengvai įsimenamu dalyku.
sudo nano tftest.py.
Įveskite šį „Google“ pateiktą kodą „TensorFlow“ išbandyti:
importuoti tensorflow kaip tf. labas = tf.constant („Sveiki, TensorFlow!“) ses = tf. Sesija () spausdinti (sess.run (labas))
Jei naudojate nano, išeikite paspausdami „Ctrl“ + X ir išsaugokite failą įvesdami Y kai bus paraginta.
Paleiskite kodą iš terminalo:
python3 tftest.py.
Turėtumėte pamatyti atspausdintą „Sveiki, TensorFlow“.
Jei naudojate „Python 3.5“, gausite kelis įspėjimus apie veikimą. Oficialiuose „TensorFlow“ vadovėliuose pripažįstama, kad taip atsitiko, ir rekomenduojame to nekreipti dėmesio.
Tai veikia! Dabar galite padaryti ką nors įdomaus su „TensorFlow“.
Vaizdo klasifikatoriaus diegimas
Terminale sukurkite projekto katalogą savo namų kataloge ir eikite į jį.
mkdir tf1. CD tf1.
„TensorFlow“ turi „git“ saugyklą su pavyzdžiais modeliams išbandyti. Klonuoti saugyklą į naują katalogą:
git klonas https://github.com/tensorflow/models.git.
Norite naudoti vaizdų klasifikavimo pavyzdį, kurį galite rasti modeliai / vadovėliai / vaizdas / paveikslėlių tinklas. Eikite į tą aplanką dabar:
kompaktinių diskų modeliai / vadovėliai / vaizdas / „imagenet“.
Standartinis vaizdų klasifikavimo scenarijus vykdomas pateiktu pandos atvaizdu:
Norėdami paleisti standartinį vaizdų klasifikatorių su pateiktu pandos atvaizdu, įveskite:
python3 klasifikuoti_mage.py.
Tai paduoda pandos vaizdą į nervų tinklą, kuris grąžina spėliones, koks vaizdas yra, atsižvelgiant į jo tikrumo lygį.
Kaip matyti išvesties vaizdas, neuroninis tinklas atspėtas teisingai ir užtikrintas beveik 90 procentų tikrumas. Ji taip pat manė, kad paveikslėlyje gali būti varškės obuolių, tačiau nelabai pasitikėjo tuo atsakymu.
Pasirinktinio vaizdo naudojimas
Pandos vaizdas įrodo, kad „TensorFlow“ veikia, tačiau tai galbūt nestebina, atsižvelgiant į projekto pavyzdį. Norėdami atlikti geresnį testą, klasifikavimui galite suteikti savo vaizdą neuroniniam tinklui.
Tokiu atveju pamatysite, ar „TensorFlow“ neuroninis tinklas gali atpažinti Džordžą.
Susipažink su Džordžu. George'as yra dinozauras. Norėdami pateikti šį vaizdą (galima apkarpyti čia) į nervinį tinklą, vykdydami scenarijų, pridėkite argumentų.
python3 classify_image.py --image_file = / home / pi / george.jpg.
image_file = po scenarijaus pavadinimo galima bet kokį vaizdą papildyti keliu. Pažiūrėkime, kaip sekėsi šis neuroninis tinklas.
Neblogai! Nors George'as nėra triceratopas, neuroninis tinklas vaizdą priskyrė dinozaurui, turėdamas didelį tikrumą, palyginti su kitomis galimybėmis.
„TensorFlow“ ir „Raspberry Pi“, paruošti eiti
Šis pagrindinis „TensorFlow“ įgyvendinimas jau turi potencialo. Šis objekto atpažinimas vyksta „Pi“ sistemoje ir jam nereikia jokio interneto ryšio. Tai reiškia, kad pridedant a Raspberry Pi fotoaparato modulis ir a „Raspberry Pi“ tinkamas akumuliatorius, visas projektas galėtų būti nešiojamas.
Daugelis vadovėlių subraižo tik dalyko paviršių, tačiau jis niekada nebuvo tikras nei šiuo atveju. Mašinų mokymasis yra neįtikėtinai tankus dalykas.
Vienas iš būdų pagilinti savo žinias būtų: vedi tam skirtą kursą Šie mašininio mokymo kursai parengs jums karjeros keliąŠie puikūs internetiniai mašinų mokymosi kursai padės suprasti įgūdžius, kurių reikia norint pradėti mokytis mašinų ir dirbtinio intelekto. Skaityti daugiau . Tuo tarpu išbandykite mašinas ir Raspberry Pi naudodamiesi šiais „TensorFlow“ projektais galite išbandyti save.
Ian Buckley yra laisvai samdomas žurnalistas, muzikantas, atlikėjas ir vaizdo įrašų prodiuseris, gyvenantis Berlyne, Vokietijoje. Kai jis nerašo ir nesirenka scenoje, jis pasidomi „pasidaryk pats“ elektronika ar kodu tikėdamasis tapti beprotišku mokslininku.