Sunku
Vienas iš efektyviausių ir patogiausių gilaus mokymosi algoritmų kūrimo papildinių yra „Python“ pagrindu sukurta padidinta dirbtinė neuroninė sistema „Keras“, kuri būtų sukurta ant gerai žinomų gilaus mokymosi sistemų, tokių kaip TensorFlow arba CNTK. Kad būtų galima greičiau tyrinėti naudojant gilesnius neuroninius tinklus, jis sukurtas patogiai, išplečiamas ir pritaikomas. Jis tvarko tiek „Fedforward“, tiek „Retractable Networks“ atskirai, taip pat kartu. Jis naudoja Backend paketą mažoms operacijoms spręsti, nes negali jų valdyti. Šioje pamokoje bus aptariamas Keras diegimas, gilaus mokymosi pagrindai, Keras struktūros, Keras sluoksniavimas, Keras paketai ir programavimas realiuoju laiku.
Nustatykite „Keras“ sistemoje „Linux“.
01 veiksmas: atnaujinkite sistemą
Prieš pradėdami visą Python bibliotekos „Keras“ naudojimo demonstraciją, turime visiškai atnaujinti „Linux“ įrenginį, kad būtų lengviau jį įdiegti. Šiuo tikslu turime greitai atidaryti „konsolės“ programą iš sistemos integruotų programų. Tam tikroje užklausos srityje mes įtraukėme Linux užklausą „atnaujinti“ su „apt“ įrankiu ir „sudo“ privilegija, kad greitai atnaujintume turimą sistemą. Kad būtų galima tęsti šį procesą, reikalingas mūsų vartotojo slaptažodis, kad mūsų sistemą būtų galima tinkamai atnaujinti.
02 veiksmas: įdiekite „Python“ ir „Pip“.
Norėdami naudoti „Deep Learning“ per „Keras“ ir „TensorFlow“, mūsų kompiuteryje turi būti sukonfigūruota naujausia „Python“ versija. Todėl savo sistemoje pradedame diegti atnaujintą Python paketą kartu su reikiama „pip“ programa. Tam turime dar kartą panaudoti Ubuntu 20.04 Linux sistemos „apt“ įrankį „įdiegti“ užklausoje ant apvalkalo, po kurio nurodomi įdiegtinų paketų pavadinimai, ty Python3 ir Python3-pip. Vykdant šią paprastą užklausą konsolės srityje, sistema pradės diegti ir konfigūruoti abu paketus mūsų sistemoje.
Kita vertus, jei jūsų sistemoje įdiegta sena „Python“ programos „pip“ versija, prieš pereidami į priekį turėtumėte ją atnaujinti.
Sėkmingai sukonfigūravus Python ir jo „pip“ programą, laikas atnaujinti „Setuptools“, skirtą „Python“, kad artimiausiu metu nekiltų problemų. Todėl mes išbandėme diegimo užklausą naudodami „pip3“ įrankį ir parinktį „Upgrade“, kad įdiegtume naujovinimą „Setuptools“, ty sąrankos įrankius. Ji prašo įvesti dabartinį slaptažodį, kurį turime savo sistemai, ir mes jį įtraukėme.
03 veiksmas: įdiekite „TensorFlow“.
Kuriant mašininį mokymąsi ir prižiūrimus neuronų modelius, TensorFlow yra labiausiai žinomas simbolinis matematikos paketas. Atlikę diegimus, mes vykdėme tą pačią „pip3“ diegimo užklausą, po kurios buvo „Tensorflow“ paketo pavadinimas.
Kitos su TensorFlow susijusios komunalinės paslaugos turi būti visiškai įdiegtos sistemoje. Šios komunalinės paslaugos bus įdiegtos kartu su „TensorFlow“ ir tai gali užtrukti iki 10 ar daugiau minučių.
04 veiksmas: įdiekite esminius paketus
Po vaisingos TensorFlow konfigūracijos Ubuntu 20.04 sistemoje, mes taip pat turime sukonfigūruoti kai kuriuos kūrimo paketus kartu su kai kuriomis kitomis programomis, tokiomis kaip „git“ ir „cmake“. Išbandę tą patį „apt“ įrankį, įdiegėme daug reikalingų paketų, kaip parodyta toliau:
Šis veiksmas atkreipia mūsų dėmesį, patvirtinant šį diegimą. Bakstelėkite „y“ ir tęskite.
05 veiksmas: sukurkite virtualią aplinką
Atlikus reikiamus įrengimus, laikas sukurti virtualią aplinką. Todėl turime naudoti Python3 įrankį su parinktimi „-m“, kad sukurtume virtualią aplinką „kerasenv“ per „venv“ kintamąjį. „ls“ užklausa rodo, kad aplinka sukurta.
Dabar turime pereiti į virtualią aplanko „Keras“ aplinką. Taigi, mes naudojome „cd“ instrukciją kartu su virtualios aplinkos aplanko pavadinimu. Po to mes persikėlėme į šios virtualios aplinkos aplanką „bin“ ir išvardijome jo pogrupį. Norėdami suaktyvinti šią Python aplinką, jos užklausos srityje išbandėme „šaltinio“ nurodymą kartu su „aktyvinimo“ failu. Virtuali aplinka aktyvuojama pavadinimu „kerasenv“.
06 veiksmas: įdiekite Python bibliotekas
Sėkmingai nustatę Python virtualią aplinką, prieš diegdami Keras turite įdiegti visas reikalingas Python bibliotekas. Todėl mes pirmiausia įdiegėme pandos biblioteką toje pačioje virtualioje aplinkoje, naudodami Python paketą „pip“.
Sistema pradės ją konfigūruoti Python virtualioje aplinkoje, kaip parodyta paveikslėlyje:
Įdiegę pandų biblioteką, pabandykite įdiegti NumPy biblioteką tokiu būdu:
Labai panašiu būdu įdiekite Python scipy biblioteką toje pačioje aplinkoje.
Dabar aplinkoje įdiekite Python matplotlib biblioteką.
Python naudoja klasterizacijos ir regresijos algoritmus mašininiame mokyme, kad atliktų neuroninių tinklų modelius. Tam ji turi sci-kit mokymosi biblioteką, kurią diegiame naudodami „pip“ įrankį kartu su parinktimi „-u“, kad sukonfigūruotų reikiamus paketus.
Scikit bibliotekos diegimo apdorojimas parodytas žemiau:
Norėdami vizualizuoti giluminį mokymąsi, turime įdiegti jūroje gimusią Python biblioteką. Todėl mes jį įdiegėme toje pačioje aplinkoje su užklausa „įdiegti“.
07 veiksmas: įdiekite Keras biblioteką
Įdiegę visas būtinas Python bibliotekas, pagaliau galime įdiegti Keras virtualioje Python aplinkoje. „Pip“ programa bus naudojama šiuo tikslu mūsų „diegimo“ užklausoje su modulio pavadinimu, ty „Keras“. Jei sistema rodo, kad jos reikalavimas jau įvykdytas, tai reiškia, kad ji jau įdiegta ir sukonfigūruota.
Jei ji dar neįdiegta, ši užklausa bus pradėta atsisiųsti ir konfigūruoti virtualioje aplinkoje be sekundės vėlavimo ir bus rodomas apdorojimas, kaip nurodyta toliau:
Visiškai sukonfigūravus ir įdiegus „Keras“ biblioteką virtualioje aplinkoje, metas visą informaciją apie ją rodyti apvalkale per „pip show“ užklausą. Vykdant šią „show“ užklausą buvo pristatyta mūsų virtualioje Python aplinkoje įdiegta Keras versija, jos pavadinimas, santrauka, tinklalapis, autorius, autoriaus el. pašto adresas, licencija, vieta, kurią ji užima mūsų sistemoje ir daugelis kitų. daugiau, kaip parodyta žemiau:
Po geriausių Python Keras ir TensorFlow bibliotekų diegimo turime išeiti iš virtualios aplinkos. Norėdami tai padaryti, išbandykite apvalkalo užklausą „deaktyvinti“ ir išeikite.
08 veiksmas: įdiekite „Anaconda Cloud“.
Python turi debesį, pavadintą „Anaconda“, kuris yra būtinas norint sukurti neuroninio tinklo pavyzdžius „Python“. Todėl mes atsisiuntėme jo vykdomąjį failą į savo sistemą.
Šis failas buvo dabartiniame „Linux“ įrenginio namų aplanke pagal „ls“ užklausą. Pirmiausia turite įsitikinti, kad tai kontrolinė suma, t. y., ar ji visiškai teisinga, ar ne, naudodami sha256sum užklausą.
Po to turime įdiegti atsisiųstą anaconda „Bash“ failą savo sistemoje naudodami „Bash“ instrukcijas ir failo pavadinimą toje pačioje konsolėje. Prieš diegiant mūsų prašoma peržiūrėti licencijos sutartį. Taigi, norėdami tęsti, bakstelėjome „Enter“.
Peržiūrėjus licencijos sutartį, ji prašo mūsų bakstelėti „taip“, jei sutinkame su sąlygomis. Norėdami tęsti diegimą toje pačioje vietoje, turite paspausti Enter arba įrašyti kelią į katalogą, kuriame norite jį įdiegti. Kitu atveju naudokite „Ctrl-c“, kad atšauktumėte diegimą.
Bus rodomas ilgas paketų, kurie bus įdiegti šiame procese, sąrašas. Atlikus tam tikrą operaciją, ji pradės diegti paketus.
Po kurio laiko anakonda buvo sėkmingai įdiegta su papildomais paketais.
Turite paleisti „aktyvinimo“ failą iš „anaconda“ aplanko naudodami „šaltinio“ užklausą kaip šaknį.
Pabandykite paleisti anaconda navigatorių naudodami šią užklausą.
Norėdami sukurti ir dirbti su nauja „conda“ aplinka, išbandykite „conda create“ instrukciją su pavadinimo parinktimi, po kurios nurodomas naujas aplinkos pavadinimas, t. y. PyCPU.
Šiam procesui reikalingas mūsų patvirtinimas dėl naujos aplinkos kūrimo. Bakstelėkite „y“.
Norėdami suaktyvinti ir paleisti naujai sukurtą „conda“ aplinką, naudokite „conda activate“ užklausą su naujos aplinkos pavadinimu, t. y. PyCPU aplinka dabar suaktyvinta.
09 veiksmas: įdiekite „Spyder IDE“.
Spyder IDE turi būti įdiegtas šioje aplinkoje, kad būtų galima vykdyti Python programas. Tam mes išbandėme „conda“ diegimo užklausą PyCPU aplinkos apvalkale su raktiniu žodžiu „spyder“.
Bakstelėkite „y“, kad tęstumėte „Spyder“ diegimą.
10 veiksmas: įdiekite Pandas ir Keras biblioteką
Įdiegę „Spyder“, įdiekite „Panda“ Python biblioteką anaconda aplinkoje naudodami „conda“ diegimo užklausą su parinktimi –c.
Dar kartą paspauskite mygtuką „y“, kad tęstumėte.
Sėkmingai sukonfigūravus pandas, su ta pačia užklausa įdiekite Keras biblioteką.
Tęskite spustelėję mygtuką „y“.
„Spyder IDE“ galite paleisti dabartinės anaconda aplinkos konsolėje taip:
Spyder IDE ruošiasi paleisti.
Paslėptas aplankas „.keras“ buvo pradiniame kataloge. Paslėpkite jį ir atidarykite failą „keras.json“, kad pridėtumėte toliau nurodytas konfigūracijas.
Nustatykite „Keras“ ir „TensorFlow“ sistemoje „Windows“.
Norėdami nustatyti „Keras“ ir „TensorFlow“ „Windows“ aplinkoje, turite įsitikinti, kad „Python“ kalba kartu su „pip“ biblioteka ir „Anaconda Navigator“ jau yra joje. Nustatę jį turėtumėte atidaryti iš paieškos srities ir pereiti į skirtuką „Aplinka“. Šiame skirtuke rasite aplinkos, kurioje šiuo metu dirbate, pavadinimą, ty bazę. Žemiau esančioje srityje rasite šį skirtuką. Bakstelėkite parinktį „Sukurti“.
Čia turite sukurti naują aplinkos pavadinimą „TensorFlow“, ty šiuo metu yra pagrindinėje aplinkoje. Pasirinkite naujausią Python versiją, kurią norite naudoti, ir bakstelėkite mygtuką „Sukurti“, kad tęstumėte.
Pamatysite, kad aplinka pradėjo apkrauti.
Po kurio laiko TensorFlow aplinka bus visiškai įdiegta.
Kairėje esančioje srityje galite pamatyti visas įdiegtas ir prieinamas Python bibliotekas ir modulius, kaip parodyta toliau:
Dabar naudodami šią sritį turime įdiegti Python „TensorFlow“ fono biblioteką. Paieškos juostoje parašykite „TensorFlow“ ir pažymėkite tą patį dėklo paketą iš rodomo sąrašo, kad jį įdiegtumėte. Bakstelėkite mygtuką „Taikyti“, kad pradėtumėte diegti „TensorFlow“ kartu su jo antriniais moduliais, tokiais kaip „Keras“.
Jis pradėjo veikti ir konfigūruoti TensorFlow mūsų Anaconda aplinkoje.
Diegimo metu bus rodomas antrinių paketų, kurie bus įdiegti Anaconda aplinkoje, sąrašas. Paspauskite mygtuką „Taikyti“ ir palaukite, kol baigsis.
Po kurio laiko visus įdiegtus paketus rasite toje pačioje modulių srityje. Matote, kad „Keras“ biblioteka buvo įdiegta kartu su kitais paketais ir dabar jos diegti nereikia.
„Windows“ paieškos juostoje ieškokite raktinio žodžio „Jupyter“. Programa pavadinimu „Jupyter Notebook (TensorFlow)“ bus rodoma kartu su kitomis. Bakstelėkite jį, kad paleistumėte „jupyter“ nešiojamąjį kompiuterį su įjungta „TensorFlow“ programa. Sukurkite naują Python failą ir pradėkite dirbti.
Deep Learning Via Hard
Išsamus mokymasis apima sluoksnio po sluoksnio analizę, kai kiekvienas sluoksnis palaipsniui ištraukia išplėstinio lygio informaciją iš įvesties. „Keras“ teikia visą sistemą, kad sudarytų bet kokį neuroninį tinklą. Ir kūrybingas, ir neįtikėtinai lengvai suprantamas, Keras. Tai leidžia kurti neuroninių tinklų modelius nuo pačių naiviausių iki didžiausių ir aukščiausių kompleksų.
Dirbtinis neuroninis tinklas (ANN)
Atrodo, kad „Dirbtinio neuroninio tinklo“ (ANN) metodika yra plačiausiai naudojamas ir pagrindinis gilaus mokymosi metodas. Jie pasisemia užuominų iš žmogaus proto – sudėtingiausio natūralaus mūsų kūno komponento, kuris yra jų pavyzdys. Daugiau nei 90 milijardų mikroskopinių ląstelių, vadinamų „neuronais“, sudaro žmogaus smegenis. Aksonai ir dendritai yra nervinių skaidulų tipai, jungiantys neuronus. Pagrindinė aksono funkcija yra siųsti duomenis iš vieno susieto neurono į kitą. Norėdami gauti daugiau informacijos, ieškokite „Google“ paieškos variklio.
Keras architektūra
Keras API architektūra buvo suskirstyta į tris pagrindines toliau išvardytas dalis. Prisiminkime kiekvieną atskirai.
- Modelis
- Sluoksnis
- Pagrindiniai moduliai
Sunkus modelis
Keras modelis susideda iš lygiai dviejų tipų, t.y. nuosekliosios ir funkcinės API.
Nuoseklus modelis
Iš esmės nuoseklus modelis yra chronologinis Keras sluoksnių rinkinys. Paprastas, supaprastintas nuoseklus modelis gali apibūdinti beveik visus šiuo metu naudojamus neuroninius tinklus. Tinkintas modelis gali būti sukurtas naudojant modelio klasę, kurią atskleidžia nuoseklus modelis. Subklasifikavimo metodas gali būti naudojamas kuriant sudėtingą mūsų pačių modelį. Toliau pateiktas nuoseklaus modelio demonstravimas.
Pridėti sluoksnius
Scenarijus buvo pradėtas nuo nuoseklaus režimo importavimo per keras.models, o kita eilutė buvo nuoseklaus modelio kūrimas. Po to, importuojant tankų sluoksnį, sukuriamas įvesties sluoksnis ir modeliui pridedamas įvesties sluoksnis. Paslėptas tankus sluoksnis buvo sukurtas ir pridėtas prie modelio ir tas pats buvo atlikta su tankiu išvesties sluoksniu.
Pasiekite modelį
Galite gauti informacijos apie savo modelio sluoksnius, įvesties duomenis, kuriuos jis naudojo, ir išvesties duomenis. Funkcija model.layers leidžia pasiekti visus sluoksnius. Model.inputs rodytų įvesties tenzorius, o model.output – išvesties tenzorius.
Serializuoti modelį
Scenarijuje naudojamą modelį lengva grąžinti kaip objektą arba JSON. Pavyzdžiui, funkcija get_config() pateikia modelį kaip objektą / objektą. Funkcija from_config() sukuria naują modelį naudodama objektą kaip parametrinę reikšmę.
Taip pat galite pakeisti modelį į JSON naudodami funkciją to_json().
Modelio santrauka
Norėdami gauti visą modelyje naudojamų sluoksnių santrauką ir papildomą informaciją, iškvieskite suvestinės () funkciją.
Treniruokite ir nuspėkite modelį
Norėdami mokyti ir numatyti, turėtume naudoti kompiliavimo funkciją, pritaikymo funkciją, įvertinti funkciją ir numatyti funkciją šiuo atžvilgiu.
Kieti sluoksniai
Kiekvienas siūlomo neuroninių tinklų modelio įvesties, paslėptas ir našumo sluoksnis atitinka skirtingą Keras sluoksnį realiame modelyje. Bet koks sudėtingas neuroninis tinklas gali būti greitai sukurtas naudojant daugybę iš anksto sukurtų Keras bibliotekos sluoksnių. Turime skirtingus Keras sluoksnius, t. y. pagrindinius sluoksnius, telkimo sluoksnius, pasikartojančius sluoksnius ir konvoliucijos sluoksnius. Galite juos ištirti ieškodami internete. Pirmosiose dviejose eilutėse buvo importuojamas nuoseklus režimas, tankus, aktyvinimo ir iškritimo sluoksnis.
Išbandėme Sequential() API, kad sukurtume iškritimo nuoseklųjį modelį. Atsisakydami aktyvinimo modelio „relu“, mes sukūrėme tankų sluoksnį per „Tankus“ API. Kad būtų patenkintas per didelis tankaus sluoksnio pritaikymas, naudojome Dropout() API, t. y. iškritimo sluoksniavimą per dropout() funkciją. Po to mes čia naudojome tankesnį sluoksnį su „relu“ aktyvinimo modeliu. Norėdami sutvarkyti tankius sluoksnius nuo per daug prigludimo, turime naudoti „Dropout“ sluoksnius. Galų gale, mes numetėme savo galutinius tankius sluoksnius naudodami „softmax“ tipo aktyvinimo modelį.
Ar kada nors ruošėte sluoksniavimą gamindami? Jei taip, tuomet šią sąvoką jums nebūtų sunku suprasti. Vieno lygio rezultatas bus įvesties duomenys kitam sluoksniui. Štai pagrindiniai dalykai, kurių reikia norint sukurti visiškai naują sluoksnį:
- Įvesties duomenų forma
- Bendras neuronų / vienetų skaičius sluoksnyje
- Inicializatoriai
- Reguliuotojai
- Apribojimai
- Suaktyvinimai
Įvesties duomenų forma
Python kalboje visos įvesties rūšys buvo konvertuojamos į sveikųjų skaičių masyvą ir pridedamos prie algoritmo modelio. „Python“ sistemoje turime nurodyti įvesties formą, kad gautume išvestį pagal mūsų reikalavimus. Tolesniuose pavyzdžiuose nurodėme įvesties formą (3,3), ty 3 eilutes ir 3 stulpelius. Išvestis rodo matricą.
Inicializatoriai
Keras Layers inicijavimo modulis suteikia mums daug funkcijų, leidžiančių nurodyti konkretų įvesties duomenų svorį. Pavyzdžiui, funkcija nuliai () nurodo 0 visiems, vienetai () nurodys visiems, o funkcija konstanta () nurodys nurodytą pastovią reikšmę, kurią vartotojas pridėjo visiems ir dar daugiau. Norėdami geriau suprasti, tapatybės matricai generuoti panaudojome funkciją Identity(). Likusių funkcijų taip pat galima ieškoti iš paieškos sistemos.
Apribojimai
Yra įvairių apribojimų funkcijų, leidžiančių taikyti apribojimus sluoksnio parametrui „svoris“, t. y. ne neigiamą, vieneto normą, didžiausią normą, minmaxnormą ir daug daugiau. Toliau pateiktoje iliustracijoje pritaikėme apribojimo normą, mažesnę arba lygią svoriui. Parametras „max_value“ yra viršutinė taikytino apribojimo riba, o ašis – matmuo, kuriam būtų taikomas apribojimas, t. y. 1 matmuo.
Reguliuotojai
Viso optimizavimo metu sluoksnio nuosavybei taikomi įvairūs mokesčiai. Tam taip pat buvo pasiūlytos kai kurios funkcijos, pvz., L1 reguliatorius, L2 reguliatorius ir „LI ir L2“ reguliatorius. Štai paprasčiausias L1 reguliatoriaus funkcijos pavyzdys:
Suaktyvinimai
Norint nustatyti, ar konkretus neuronas yra aktyvus, ar ne, naudojama unikali funkcija, vadinama aktyvinimo funkcija. Aktyvinimo funkcija kompleksiškai transformuoja gaunamus duomenis, o tai padeda neuronams efektyviau mokytis. Toliau pateiktuose pavyzdžiuose pateikti keli aktyvinimo būdai:
Kietieji moduliai
Kaip žinome, programavimo moduliuose paprastai yra funkcijų, klasių ir kintamųjų, kurie naudojami įvairiems ir specifiniams tikslams. Lygiai taip pat Python Keras bibliotekoje yra daug modulių. Visas reikalingas žinias apie Keras modulius galite gauti internete.
Backend
Vienas iš labiausiai žinomų ir naudojamų modulių yra „Backend“ modulis, sukurtas naudoti „Python“ pagrindines bibliotekas, tokias kaip „TensorFlow“ ir „Theano“. Naudodami pagrindinį modulį, galime panaudoti kuo daugiau „TensorFlow“ ir „Theano“ bibliotekos foninių funkcijų. Norėdami naudoti foninės bibliotekos modulį, konfigūracijos faile „keras.json“, kurį sukūrėme paslėptame .keras aplanke, turime nurodyti naudojamą fono biblioteką. Pagal numatytuosius nustatymus užpakalinė programa buvo nurodyta kaip „TensorFlow“, tačiau ją taip pat galite pakeisti į kitą, ty „Theano“ arba „CNTK“.
Mūsų pavyzdyje mes naudosime TensorFlow biblioteką kaip užpakalinę programą. Norėdami įkelti užpakalinės programos konfigūracijas iš šakninio aplanko „keras“ failo keras.json, naudokite:
- iš keras import backend kaip k
Sėkmingai importavus užpakalinę programą iš keras.json failo, laikas gauti vidinės sistemos informaciją naudojant kintamąjį „k“ su kintamuoju, kurį reikia gauti. Pirma, mes gavome backend pavadinimą, kurį naudojome ir jau importavome naudodami funkciją „backend ()“. Jis grąžina „Tensorflow“ kaip savo pagrindinę vertę. Norėdami gauti užpakalinės programos slankiąją reikšmę, iškvietėme funkciją floatx () per Keras „k“ kintamąjį objektą. Tai rodo, kad mes naudojome float32 reikšmę.
Norėdami gauti vaizdo duomenų formatą, naudokite funkciją image_Data_format() su kintamuoju 'k'. Naudojant jį, rodoma, kad mūsų užpakalinė programa naudojo „channels_last“ vaizdo duomenų formatą. Norėdami gauti galinės programos eksponento galią, iškvieskite funkciją epsilon() su kintamuoju 'k'. Grąžina, kad užpakalinė programa naudos eksponentinę „07“ galią. Tai viskas apie galinės programos informacijos gavimą.
Get_uid() funkcija
Atėjo laikas pažvelgti į kai kurias „TensorFlow“ pagrindines funkcijas, kad suprastumėte jos funkcionalumą. Viena iš dažniausiai naudojamų foninių funkcijų „get_uid() funkcija, kuri naudojama numatytajam mūsų naudotam grafikui nustatyti. Naudojant jį su parametru priešdėlis=‘‘, būtų grąžinta „1“, t. y. pagal naudojimą. Vėlgi, naudojant jį, būtų grąžintas „2“, kaip mes jį vėl vadinome, o grafiko vertė buvo padidinta. Panaudojus funkciją „reset_uids“, grafiko vartotojo ID vertė bus nustatyta iš naujo į 0. Taigi dar kartą naudojant get_uid() funkciją ji padidėtų 1.
Placeholder() Funkcija
Tenzorius naudojo vietos rezervavimo funkciją () norėdami išlaikyti skirtingas matmenų formas. Pavyzdžiui, toliau pateiktoje iliustracijoje mes naudojome jį, kad išlaikytume 3D vaizdą tensoryje per Keras kintamąjį „k“ ir išsaugotume jį kitame kintamajame „d“. Kintamojo „d“ išvestis rodo formos, naudojamos rezervuotoje, ypatybes.
Funkcija „int_shape()“ naudojama reikšmės, įrašytos rezervuotoje „d“, formai rodyti.
Taško () funkcija
Ar kada nors padauginote du vektorius? Jei taip, jums nebus sunku padauginti du tenzorius. Tam užpakalinėje bibliotekoje buvo „taško“ funkcija. Pirma, norėdami išlaikyti dvi skirtingas formas, pirmosiose 2 eilutėse naudojome vietos rezervavimo () funkcijos formos reikšmes, kad sukurtume du laikiklius „x“ ir „y“. Funkcija „dot()“ paėmė „x“ ir „y“ laikiklius, kad padaugintų tenzorius ir išsaugotų rezultatą kitame kintamajame „z“. Spausdinant naudojant „z“ tenzorių, ekrane buvo rodoma padauginta gauta tenzoriaus forma (1, 5).
Ones() Funkcija
Yra žinoma, kad užpakalinio modulio funkcija ones() inicijuoja visas tam tikros formos reikšmes į 1. Pavyzdžiui, mes naudojome funkciją ones() tenzoriaus formoje (3, 3) ir išsaugome rezultatą į kintamasis „v“. Funkcija eval() atmetama čia, kad būtų galima įvertinti kintamojo „v“ reikšmę ir rodyti Python aplinkoje. Savo ruožtu jis konvertavo formą (3, 3) į visų masyvo matricą, turinčią float32 duomenų tipą.
Batch_dot() funkcija
Tensor partija nurodys bendrą mėginių skaičių, kurį reikia rūšiuoti prieš atnaujinant modelį. TensorFlow backend funkcija batch_dot() daugiausia naudojama norint sužinoti dviejų skirtingų paketinių duomenų daugybos rezultatą. Todėl sukūrėme du tensorinius kintamuosius v1 ir v2 ir panaudojome funkciją Input (), kad išsaugotume juos v1 ir v2 kaip įvestį. Po to mes išbandėme funkciją batch_dot() tiek tensor kintamiesiems, tiek v1, tiek v2, o gauta reikšmė būtų išsaugota kitame kintamajame „v3“. Spausdindami kintamąjį v3, mainais radome gautą formą (2, 2).
Kintamoji funkcija
Jei kada nors dirbote su kita kalba, galbūt inicijavote daug kintamųjų naudodami raktinį žodį „var“ arba be jo. Daug kartų galėjote inicijuoti kintamuosius naudodami jų duomenų tipus, pvz., sveikąjį skaičių, eilutę arba simbolį. Python Keras bibliotekoje galime sukurti bet kurį kintamąjį naudodami funkciją variable() kai kuriuose tenzoriniuose duomenims pavyzdžių pavidalu.
Kitame paveikslėlyje sukūrėme kintamąjį „d“, įtraukdami dviejų sąrašo duomenų pavyzdžius į funkciją „variable()“ su Keras objektu „k“. Pridėję šį kintamąjį, mes iškvietėme šio kintamojo transpose () funkciją, kad sužinotume pavyzdinių duomenų perkėlimą jame per Keras objektą „k“. Gautas perkėlimas būtų įrašytas į kintamąjį „val“. Python kalbos spausdinimo teiginys čia buvo naudojamas norint išspausdinti „val“ gaunamo kintamojo reikšmę. Spausdinimo sakinyje buvo rodoma pasirinkta funkcija, kurią taikėme kintamajam „d“, ir bendras elementų skaičius kiekviename sąraše.
Po to išbandėme kintamojo „val“ funkciją „eval“, kad pavyzdžiai būtų įtraukti į kintamąjį „d“, o spausdinimo funkcija jį rodydavo. Išvestyje galite pamatyti dviejų sąrašų perkėlimą.
Ankstesnė kodo iliustracija buvo pasiekta naudojant paprastas Python funkcijas, neimportuojant jokios konkrečios Python bibliotekos. Dviejų duomenų rinkinių „perkėlimą“ galima rasti naudojant „NumPy“ masyvus. Norėdami tai padaryti, pradžioje turime importuoti NumPy biblioteką kaip „n“. Pagrindinis formatas yra tas pats, tačiau formos duomenų rinkinį turime inicijuoti naudodami raktinį žodį „masyvas“, o ne naudoti raktinį žodį „kintamasis“. NumPy masyvo pavyzdys turėtų būti grąžintas į kintamąjį „d“. Tas pats „NumPy“ objektas „n“ naudojamas transpose () funkcijai iškviesti „d“ kintamajame ir išsaugoti jos rezultatą kintamajame „val“.
Spausdinimo teiginys iškviečia jame esantį kintamąjį „val“, kad būtų rodomas jo transponavimo tenzorius. Matote, kad norint parodyti gautą „val“ kintamojo perkeltą reikšmę, čia nereikia funkcijos „eval“. Dabar mes panaudojome kintamojo funkciją su argumentu „d“ ir įrašėme rezultatą į kintamąjį „z“. Išbandžius spausdinimo teiginį, pridedant argumento reikšmę „z“, jis parodė išvestį tuo pačiu ankstesniu formatu, kurį bandėme aukščiau pateiktame kintamojo pavyzdyje.
Is_sparse() funkcija
Žodis „retas“ tensoryje vartojamas retam tenzoriui, kuriame dažniausiai yra įrašai su nuliais. Šiame pavyzdyje mes naudosime pagrindinio modulio funkciją is_sparse(), kad patikrintume, ar tenzoryje yra daug nulių, ar ne.
Pirma, mes iškviečiame funkciją placeholder(), kad išlaikytume tenzoriaus formą (3, 3), kartu su argumentu Sparse nustatyta tiesa. Ši rezervuotos vietos reikšmė būtų laikoma kintamu „x“ ir rodoma. Išvestyje buvo rodoma informacija apie vietos rezervavimo kintamąjį „x“.
Pavyzdžiui, jam taikomas duomenų tipas, forma ir funkcija. Po to dar kartą išbandėme spausdinimo teiginį, iškvietę jame funkciją is_Sparse (). Ši funkcija naudojo kintamąjį „x“ kaip argumentą, kad parodytų, ar „x“ tenzorius yra retas, ar ne. Išvestis rodo „true“.
To_dense() funkcija
Teigiama, kad tankusis tenzorius yra tas, kuris naudojo chronologinį atminties bloką, kad informacija būtų saugoma gretimu būdu ir taip pat pavaizduotų informacijos reikšmes. Užpakalinio modulio funkcija „to_dense()“ leidžia paversti retą tenzorių tankiu. Taigi, mes naudojame tą pačią vietos rezervavimo funkciją, kad pridėtume tenzorį prie kintamojo „x“, o šis tenzorius buvo nustatytas kaip „retas“.
Funkcija „to_dense()“ taikoma tankiojo tenzoriaus kintamajam „x“, ty konvertuoti jį į tankų tenzorių ir išsaugoti kitame kintamajame „res“. Dabar „res“ yra tankus tenzorius. Spausdinimo teiginys buvo atmestas, kad būtų išspausdintas „res“ kintamasis. Naudojant spausdinimo teiginius „res“ kintamajam buvo rodoma informacija apie „res“ konvertuotą kintamąjį, t.
Tada naudojant funkciją is_sparse() iškviečiama kita spausdinimo funkcija, kad patikrintų, ar kintamasis „res“ yra retas, ar ne. Išvestis parodė, kad kintamasis „res“ nėra retas, t. y. kaip jau konvertavome į „tankų“ tenzorių.
Atsitiktinis_vienodas_kintamasis() Funkcija
Funkcija random_uniform_variable() Keras backend modulyje yra specialiai sukurta tenzoriui inicijuoti naudojant vienodą paskirstymą. Iš viso reikia trijų argumentų. Pats pirmasis argumentas „forma“ naudojamas figūros eilėms ir stulpeliams apibrėžti eilutės formoje. Jei atlikote matematiką, galbūt išmokote vidurkio ir standartinio nuokrypio sąvokas.
Taikant random_uniform_variable() metodą, kiti du argumentai yra vidutinis ir tipinis nuokrypis nuo vienodo pasiskirstymo. Šioje iliustracijoje mes inicijavome du tenzorius „x“ ir „y“, naudodami standartinį vienodą pasiskirstymą per random_uniform_variable() funkciją. Abiejuose tenzoriuose yra skirtingi formos formatai, ty eilutės ir stulpeliai su tuo pačiu vidurkiu ir standartiniu nuokrypiu, ty žemas = 0 ir didelis = 1.
Po to mes išjungiame funkciją „taškas“, paimdami joje esančius „x“ ir „y“ tenzorius daugybai. Šio daugybos rezultatas būtų įrašytas į kintamąjį „z“. Galų gale int_shape() būtina naudoti norint parodyti gaunamo tenzoriaus „z“ formą. Išvestis rodo tenzorių (2,2).
Utils
Jei norite naudoti kai kurias labai naudingas Python gilaus mokymosi koncepcijos funkcijas, savo scenarijuose turite naudoti Keras bibliotekos utils modulį. Pavyzdžiui, jei norite rodyti duomenis HDF5Matrix formatu, turite importuoti HDF5Matrix klasę ir scenarijuje naudoti jos HDF5Matrix funkciją.
To_categorical() funkcija
Ši funkcija leidžia modifikuoti klasės vektorių į matricą, ty dvejetainę klasės matricą. Tarkime, importavome funkciją to_categorical() iš utils modulio ir inicijavome vektorių „A“. Vektorius „A“ buvo perduotas funkcijai to_categorical(). Buvo parodyta šios klasės vektoriaus „A“ dvejetainė matrica.
print_summary() Funkcija
Norint išspausdinti savo aplinkoje sukurto modelio santrauką, buvo naudojama funkcija print_summary.
plot_model() Funkcija
Funkcija plot_model() žymi modelį taško formatu ir leidžia išsaugoti jį dokumente.
Išvada
Apibendrinant galime pasakyti, kad Python kalba yra būtina kalba šiandieninei epochai, nes viskas vyksta greitai, o technologijos vystosi taip beprotiškai greitai. Per šią mokymosi gairę mes stengėmės naudoti Python Keras biblioteką giluminiame mokyme ir dirbtiniuose neuroniniuose tinkluose. Norėdami tai padaryti, mes taip pat išnagrinėjome jos foninės bibliotekos „TensorFlow“ svarbą ir naudojimą, kad gautume aiškų supratimą. Be to, aptarėme ir paaiškinome kiekvieną konfigūraciją, kurios reikia norint nustatyti Keras ir Anaconda aplinką Python sistemoje Ubuntu 20.04 Linux operacinėje sistemoje. Po to mes išsamiai aptarėme „Keras“ modelius, sluoksnius ir modulius po vieną ir jų dažniausiai naudojamas funkcijas. Norėdami pademonstruoti Function API modelį, patikrinkite oficialią dokumentaciją.