Raske õpetus

Raske Opetus



Kas keegi on kunagi olnud teadlik Pythoni kasutamisest robotite disainimisel ja arendamisel? Kui see nii on, peab olema võimalik näidata, et Pythoni idee sügavast õppimisest on ainus viis selle saavutamiseks. Masinõpe on optimeerimistehnikate uurimine, mis ammutab inspiratsiooni inimmõistuse mudelist. Andmeteaduse distsipliinid, sealhulgas robootika, tehisintellekt (AI), muusika ja video tuvastamine ning pildi tuvastamine, on näinud süvaõppe kasutamist. Süvaõppe lähenemisviisid on üles ehitatud sünteetiliste närvivõrkude ümber. Enne sügavale kaevamist peate kõigepealt mõistma Kerase kontseptsiooni.

Raske

Kõige tõhusamate ja kasutajasõbralikumate pluginate hulgas süvaõppe algoritmide koostamiseks on Pythonipõhine kõrgendatud kunstlik närviraamistik Keras, mis ehitataks tuntud süvaõppe raamistike, nagu TensorFlow või CNTK, peale. Sügavamaid närvivõrke kasutades kiirema uurimise võimaldamiseks on see kasutajasõbralik, laiendatav ja kohandatav. See käsitleb nii edasi- kui ka sissetõmmatavaid võrke eraldi ja kombineeritult. See kasutab väikeste toimingute käsitlemiseks taustaprogrammi paketti, kuna ei saa neid hallata. Selles õppetükis käsitletakse Kerase juurutamist, süvaõppe põhialuseid, Kerase struktuure, Kerase kihilisust, Kerase pakette ja reaalajas programmeerimist.

Seadistage Keras Linuxis

Samm 01: värskendage süsteemi

Enne Pythoni 'Keras' teegi kasutamise täielikku tutvustamist peame oma Linuxi masina täielikult värskendama, et muuta see edasiste installimiste jaoks lihtsaks. Selleks peame süsteemi sisseehitatud rakendustest kiiresti avama 'konsooli' rakenduse. Konkreetses päringupiirkonnas oleme lisanud Linuxi 'update' päringu koos 'apt' utiliidi ja 'sudo' privileegiga, et meie süsteemi kiiresti värskendada. Selle protsessi jätkamiseks on vaja meie kasutaja parooli, et meie süsteemi saaks korralikult värskendada.









Samm 02: installige Python ja Pip

Deep Learningi kasutamiseks Kerase ja TensorFlow kaudu peab meie masinas olema konfigureeritud Pythoni uusim versioon. Seetõttu hakkame oma süsteemi installima Pythoni värskendatud paketti koos selle vajaliku 'pip' utiliidiga. Selleks peame uuesti kasutama Ubuntu 20.04 Linuxi süsteemi 'apt' utiliiti 'install' päringus kestas, millele järgneb installitavate pakettide nimed, st Python3 ja Python3-pip. Selle lihtsa päringu täitmisel konsoolialal hakkab süsteem installima ja konfigureerima mõlemat paketti meie süsteemis.







Teisest küljest, kui teie süsteemis on Pythoni jaoks installitud utiliidi 'pip' vana versioon, peaksite seda enne edasiliikumist värskendama.



Pärast Pythoni ja selle 'pip' utiliidi edukat konfigureerimist on aeg Pythoni jaoks mõeldud seadistustööriistad uuendada, et vältida lähitulevikus probleeme. Seetõttu oleme proovinud installipäringut utiliidi 'pip3' ja suvandiga -upgrade, et installida värskendus Setuptools, st häälestustööriistad. See küsib praegust parooli, mis meil meie süsteemi jaoks on, ja oleme selle lisanud.

Samm 03: installige TensorFlow

TensorFlow on masinõppe ja juhendatud närvimudelite koostamiseks kõige tuntum sümboolne matemaatikapakett. Pärast installide läbimist oleme täitnud sama 'pip3' installipäringu, millele järgneb 'Tensorflow' paketi nimi.

Muud TensorFlow'ga seotud utiliidid peavad olema süsteemi täielikult installitud. Need utiliidid installitakse koos TensorFlow'ga ja selleks võib kuluda kuni 10 minutit või rohkem.

Samm 04: installige olulised paketid

Pärast TensorFlow viljakat konfigureerimist Ubuntu 20.04 süsteemis peame konfigureerima ka mõned ehituspaketid koos mõne muu utiliitiga, nagu 'git' ja 'cmake'. Proovides sama 'apt' tööriista, oleme installinud paljud vajalikud paketid, nagu allpool näidatud:

See samm võtab meie tähelepanu kõige rohkem, kinnitades selle installi. Puudutage 'y' ja jätkake.

Samm 05: looge virtuaalne keskkond

Pärast vajalikke installimisi on aeg luua virtuaalne keskkond. Seetõttu peame muutuja 'venv' kaudu virtuaalse keskkonna 'kerasenv' loomiseks kasutama Python3 utiliiti valikuga '-m'. Päring 'ls' näitab, et keskkond on loodud.

Nüüd peame liikuma Kerase kausta virtuaalses keskkonnas. Niisiis oleme kasutanud käsku “cd” koos virtuaalse keskkonna kausta nimega. Pärast seda oleme liikunud selle virtuaalkeskkonna 'bin' kaustas ja loetlenud selle alam. Selle Pythoni keskkonna aktiveerimiseks proovisime päringualal käsku 'source' koos failiga 'Active'. Virtuaalne keskkond aktiveeritakse nimega 'kerasenv'.

Samm 06: installige Pythoni raamatukogud

Pärast Pythoni virtuaalse keskkonna edukat seadistamist peate enne Kerase installimist installima kõik vajalikud Pythoni teegid. Seetõttu oleme panda raamatukogu installinud esmalt samasse virtuaalkeskkonda, kasutades Pythoni paketti 'pip'.

Süsteem hakkab seda konfigureerima Pythoni virtuaalses keskkonnas, nagu on näidatud pildil:

Pärast pandade teegi installimist proovige installida NumPy teek, kasutades järgmist meetodit:

Väga sarnasel viisil installige samasse keskkonda Pythoni scipy teek.

Nüüd installige keskkonda Pythoni teek matplotlib.

Python kasutab masinõppes närvivõrgu mudelite tegemiseks klastrite moodustamise ja regressiooni algoritme. Selleks on sellel sci-kiti õppimisteek, mida installime koos utiliidi 'pip' ja valikuga '-u', et konfigureerida ka vajalikud paketid.

Scikiti raamatukogu installimise töötlemine on näidatud allpool:

Süvaõppe visualiseerimiseks vajame Pythoni merel sündinud raamatukogu installimist. Seetõttu oleme installinud selle installipäringuga samasse keskkonda.

Samm 07: installige Kerase raamatukogu

Pärast kõigi Pythoni vajalike eeldusteekide installimist saame lõpuks installida Kerase Pythoni virtuaalsesse keskkonda. Utiliiti 'pip' kasutatakse selleks meie 'installi' päringus mooduli nimega, st 'Keras'. Kui süsteem näitab, et selle nõue on juba täidetud, tähendab see, et see on juba installitud ja konfigureeritud.

Kui see pole veel installitud, alustab see päring selle allalaadimist ja konfigureerimist virtuaalses keskkonnas ühe sekundilise viivituseta ning töötlus kuvatakse järgmiselt:

Pärast 'Keras' teegi täielikku konfigureerimist ja installimist virtuaalsesse keskkonda on aeg kuvada kogu teave selle kohta shellis päringu 'pip show' kaudu. Selle 'show' päringu täitmine on esitanud meie Pythoni virtuaalsesse keskkonda installitud Kerase versiooni, selle nime, kokkuvõtte, veebi kodulehe, autori, autori e-posti aadressi, litsentsi, asukoha, mille see meie süsteemis võtab ja palju muud. rohkem nagu allpool esitatud:

Pärast Pythoni Kerase ja TensorFlow teekide parimaid installimisi peame virtuaalsest keskkonnast väljuma. Selleks proovige kestas päringut 'deaktiveerida' ja väljuge.

Samm 08: installige Anaconda Cloud

Pythonil on pilv nimega 'Anaconda', mis on vajalik Pythonis närvivõrgu näidete loomiseks. Seetõttu oleme selle täitmisfaili oma süsteemi alla laadinud.

See fail on asunud Linuxi masina praeguses kodukaustas vastavalt päringule 'ls'. Peate esmalt veenduma, et see on kontrollsumma, st kas see on täiesti õige või mitte, kasutades sha256sum päringut.

Pärast seda peame oma süsteemi installima allalaaditud anaconda Bash-faili, kasutades juhiseid “Bash” ja failinime samal konsoolil. See on palunud meil enne installimist litsentsilepingu üle vaadata. Seega puudutasime jätkamiseks nuppu 'Enter'.

Pärast litsentsilepingu läbimist palub see meil puudutada 'jah', kui nõustume tingimustega. Peate vajutama sisestusklahvi, et jätkata selle installimist samas kohas või kirjutama tee kataloogi, kuhu soovite selle installida. Vastasel juhul kasutage installi tühistamiseks klahvikombinatsiooni Ctrl-c.

See kuvab selle protsessi käigus installitavate pakettide pika loendi. Pärast mõningast tehingu täitmist alustab see pakettide installimist.

Mõne aja pärast paigaldati anaconda koos lisapakettidega edukalt.

Peate anaconda kaustast käivitama faili 'aktiveerimise' päringu 'allikas' kaudu juurkasutajana.

Proovige käivitada anaconda navigaator, kasutades järgmist päringut.

Uue conda keskkonna loomiseks ja sellega töötamiseks proovige käsku 'conda create' nimevalikuga, millele järgneb uus keskkonna nimi, st PyCPU.

See protsess nõuab meie kinnitust uue keskkonna loomise kohta. Puudutage 'y'.

Äsja tehtud conda keskkonna aktiveerimiseks ja käitamiseks kasutage päringut 'conda activate' oma uue keskkonna nimega, st PyCPU keskkond on nüüd aktiveeritud.

Samm 09: installige Spyder IDE

Pythoni programmide täitmiseks peab sellesse keskkonda installima Spyder IDE. Selleks oleme proovinud PyCPU keskkonna kestas conda installipäringut märksõnaga “spyder”.

Spyderi installimise jätkamiseks puudutage 'y'.

10. samm: installige Pandase ja Kerase raamatukogu

Pärast Spyderi installimist installige panda Pythoni teek anaconda keskkonda, kasutades conda installipäringut valikuga –c.

Jätkamiseks vajutage uuesti nuppu 'y'.

Pärast pandade edukat seadistamist installige Kerase teek sama päringuga.

Jätkake pärast nupu „y” klõpsamist.

Spyder IDE saate käivitada anaconda praeguse keskkonna konsoolis järgmiselt.

Spyder IDE on käivitamiseks valmistunud.

Peidetud kaust “.keras” on asunud kodukataloogis. Tühjendage see ja avage fail 'keras.json', et lisada sellele järgmised konfiguratsioonid.

Seadistage Windowsis Keras ja TensorFlow

Kerase ja TensorFlow seadistamiseks Windowsi keskkonnas peate veenduma, et Pythoni keel koos selle 'pip' teegi ja Anaconda Navigatoriga on selles juba seadistatud. Pärast selle seadistamist peaksite selle avama oma otsingualas ja liikuma vahekaardil 'Keskkonnad'. Sellelt vahekaardilt leiate keskkonna nime, milles praegu töötate, st baas. Allolevalt alalt leiate järgmise vahekaardi. Puudutage valikut 'Loo'.

Siin peate looma uue keskkonna nime 'TensorFlow', st asute hetkel põhikeskkonnas. Valige Pythoni uusim versioon ja puudutage jätkamiseks nuppu Loo.

Näete, et keskkond on hakanud laadima.

Mõne aja pärast installitakse TensorFlow keskkond täielikult.

Selle kõige vasakpoolsemast alast näete kõiki Pythoni installitud ja saadaolevaid teeke ja mooduleid, nagu allpool näidatud:

Nüüd peame selle ala abil installima Pythoni taustaprogrammi TensorFlow teegi. Kirjutage otsinguribale 'TensorFlow' ja märkige installimiseks kuvatud loendist sama ümbrispakett. TensorFlow installimise jätkamiseks koos selle alammoodulitega, nagu 'Keras', puudutage nuppu 'Rakenda'.

See on hakanud tööle ja konfigureerima TensorFlow meie Anaconda keskkonnas.

Installimise ajal kuvatakse Anaconda keskkonda installitavate alampakettide loend. Patsutage nuppu 'Rakenda' ja oodake veidi, kuni see on lõppenud.

Mõne aja pärast leiate kõik installitud paketid samast moodulite piirkonnast. Näete, et Kerase teek on installitud koos teiste pakettidega ja me ei pea seda praegu installima.

Otsige Windowsi otsinguribalt märksõna „Jupyter”. Rakendus nimega 'Jupyter Notebook (TensorFlow)' kuvatakse koos teistega. Puudutage seda, et käivitada jupyteri sülearvuti, mille taustaprogramm TensorFlow on lubatud. Looge uus Pythoni fail ja alustage tööd.

Sügav õppimine kõvasti

Süvaõpe hõlmab sisselaske kihtide kaupa analüüsi, kusjuures iga kiht eraldab sisendist järk-järgult kõrgema taseme üksikasju. Keras pakub täielikku raamistikku mis tahes närvivõrgu moodustamiseks. Nii loominguline kui ka uskumatult lihtsalt mõistetav, Keras. See võimaldab luua närvivõrgu mudeleid kõige naiivsemast kuni suurima ja ülima kompleksini.

Kunstlik närvivõrk (ANN)

Kunstliku närvivõrgu (ANN) metoodika näib olevat kõige laialdasemalt kasutatav ja põhiline süvaõppe meetod. Nad võtavad oma näpunäiteid inimmõistusest, meie keha loomulikust kõige keerulisemast komponendist, mis on neile eeskujuks. Inimese aju moodustavad üle 90 miljardi mikroskoopilise raku, mida nimetatakse 'neuroniteks'. Aksonid ja dendriidid on närvikiudude tüübid, mis seovad neuroneid omavahel. Aksoni peamine ülesanne on saata andmeid ühelt seotud neuronilt teisele. Lisateabe saamiseks otsige Google'i otsingumootorist.

Kerase arhitektuur

Kerase API arhitektuur on liigitatud kolme põhiossa, mis on loetletud allpool. Vaatleme igaüks neist eraldi.

  • Mudel
  • Kiht
  • Põhimoodulid

Raske mudel

Kerase mudel koosneb täpselt kahest tüübist, st järjestikusest ja funktsionaalsest API-st.

Järjestusmudel

Põhimõtteliselt on järjestikune mudel Kerase kihtide kronoloogiline kogum. Lihtne, lihtsustatud järjestusmudel võib kirjeldada peaaegu kõiki praegu kasutusel olevaid närvivõrke. Kohandatud mudeli saab teha, kasutades mudeliklassi, mille järjestusmudel näitab. Alamklassifikatsiooni lähenemisviisi võib kasutada meie enda keeruka mudeli koostamiseks. Järjestikuse mudeli demonstratsioon on esitatud allpool.

Lisa kihte

Skript on käivitatud järjestikuse režiimi importimisest keras.models kaudu ja teine ​​rida on olnud järjestikuse mudeli loomine. Pärast seda luuakse tiheda kihi importimisel sisendkiht ja lisatakse mudelile sisendkiht. Peidetud tihe kiht on loodud ja mudelile lisatud ning sama on tehtud ka väljundtiheda kihi jaoks.

Juurdepääs mudelile

Saate teavet oma mudelikihtide, kasutatud sisendandmete ja väljundandmete kohta. Funktsioon model.layers võimaldab juurdepääsu kõikidele kihtidele. Model.inputs näitaks sisendtensoreid ja model.output kuvab väljundtensoreid.

Serialiseerige mudel

Skriptis kasutatud mudelit on lihtne objektina või JSONina tagastada. Näiteks funktsioon get_config() annab mudeli olemi/objektina. Funktsioon from_config() loob uue mudeli, kasutades objekti parameetrilise väärtusena.

Funktsiooni to_json() abil saate oma mudeli muuta ka JSON-iks.

Mudeli kokkuvõte

Mudelis kasutatud kihtide kogu kokkuvõtte ja lisateabe saamiseks helistage funktsioonile summary().

Treenige ja ennustage mudelit

Treenimiseks ja ennustamiseks peaksime kasutama kompileerimisfunktsiooni, sobitusfunktsiooni, funktsiooni hindama ja funktsiooni ennustama.

Kõvad kihid

Iga sisend-, peidetud ja saagise kiht soovitatud närvivõrkude mudelis vastab erinevale Kerase kihile tegelikus mudelis. Mis tahes keerukat närvivõrku saab kiiresti arendada, kasutades Kerase teegi paljusid eelehitatud kihte. Meil on erinevaid Kerase kihte, st põhikihid, koondkihid, korduvad kihid ja konvolutsioonikihid. Saate neid uurida veebist otsides. Esimesed kaks rida on importinud järjestikuse režiimi, tiheda, aktiveerimise ja väljalangemise kihi.



Oleme proovinud Sequential() API-d väljalangevate järjestikuste mudelite loomiseks. Aktiveerimismudeli 'relu' eemaldamisega oleme loonud tiheda kihi 'Tihe' API kaudu. Tiheda kihi liigsobivuse tagamiseks oleme kasutanud Dropout() API-t, st väljalangemise kihistamist funktsiooni dropout() kaudu. Pärast seda oleme kasutanud siin 'relu' aktiveerimismudeliga tihedamat kihti. Tihedate kihtide ülepaigutamise vältimiseks peame kasutama Dropout kihte. Lõpuks oleme oma lõplikud tihedad kihid maha heitnud, kasutades “softmax” tüüpi aktiveerimismudelit.







Kas olete kunagi toiduvalmistamise ajal kihistanud? Kui jah, siis poleks sellest kontseptsioonist raske aru saada. Ühe taseme tulemus on järgmise kihi sisendandmeteks. Siin on põhilised asjad, mis on vajalikud täiesti uue kihi ehitamiseks:



  • Sisendandmete kuju
  • Neuronid/ühikud kokku kihis
  • Initsialiseerijad
  • Regulaatorid
  • Piirangud
  • Aktiveerimised

Sisendandmete kuju

Pythoni keeles on igat tüüpi sisendid teisendatud täisarvude massiiviks ja lisatud seejärel algoritmimudelisse. Pythonis peame määrama sisendi kuju, et saada väljund vastavalt meie nõuetele. Järgmistes näidetes oleme määranud sisendkuju (3,3), st 3 rida ja 3 veergu. Väljundis on kuvatud maatriks.







Initsialiseerijad

Keras Layersi lähtestajate moodul pakub meile palju funktsioone sisendandmete konkreetse kaalu määramiseks. Näiteks määrab funktsioon nullid () kõigi jaoks 0, ühed () määravad kõigi jaoks ja funktsioon konstant () määrab kindlaks määratud konstantse väärtuse, mille kasutaja lisab kõigile ja enamale. Parema mõistmise huvides oleme identiteedimaatriksi genereerimiseks kasutanud funktsiooni Identity(). Ülejäänud funktsioone saab samuti otsida otsingumootorist.



Piirangud

Kihi 'kaalu' parameetri piirangute rakendamiseks on saadaval erinevad piirangufunktsioonid, st mittenegatiivne, ühikunorm, maksimaalne norm, minmaxnorm ja palju muud. Järgmisel joonisel oleme rakendanud piirangunormi, mis on väiksem või võrdne kaaluga. Parameeter „max_value” on rakendatava piirangu ülempiir ja telg on mõõde, millele piirangut rakendataks, st mõõde 1.

Regulaatorid

Kogu optimeerimise ajal kehtestab see kihi omadusele mitmesuguseid tasusid. Selle jaoks pakuti välja ka mõned funktsioonid, st L1 regulaatori, L2 regulaatori ja “LI ja L2” regulaatori. Siin on L1 regulaatori funktsiooni lihtsaim näide:

Aktiveerimised

Unikaalset funktsiooni, mida nimetatakse aktiveerimisfunktsiooniks, kasutatakse selleks, et teha kindlaks, kas konkreetne neuron on aktiivne või mitte. Aktiveerimisfunktsioon muudab sissetulevad andmed keerulisel viisil, mis aitab neuronitel tõhusamalt õppida. Siin on mitu aktiveerimismeetodit, mis on esitatud allpool toodud näidetes.

Kõvad moodulid

Nagu me teame, sisaldavad programmeerimismoodulid tavaliselt funktsioone, klasse ja muutujaid, mida kasutatakse erinevatel ja konkreetsetel eesmärkidel. Niisamuti sisaldab Pythoni Kerase teek palju mooduleid. Kõik vajalikud teadmised Kerase moodulite kohta saad veebist.

Taustaprogramm

Üks selle tuntumaid ja kasutatavamaid mooduleid on 'Backend' moodul, mis on loodud kasutama Pythoni taustateeke nagu TensorFlow ja Theano. Taustamooduli abil saame kasutada võimalikult palju TensorFlow ja Theano teegi taustafunktsioone. Taustateegi mooduli kasutamiseks peame määrama kasutatava taustateegi konfiguratsioonifailis “keras.json”, mille oleme loonud peidetud kaustas .keras. Vaikimisi on taustaprogrammiks määratud 'TensorFlow', kuid saate selle muuta ka mõneks muuks, st Theano või CNTK-ks.

Meie näites kasutame taustaprogrammina TensorFlow teeki. Taustaprogrammi konfiguratsioonide laadimiseks juurkausta keras failist keras.json kasutage:

  • keras impordi taustaprogrammist k

Pärast taustaprogrammi edukat importimist failist keras.json on aeg hankida taustaprogrammi teave, kasutades muutujat „k” koos tootava muutujaga. Esiteks oleme toonud kasutatud ja juba imporditud taustaprogrammi nime, kasutades funktsiooni 'backend()'. See tagastab taustaväärtusena 'Tensorflow'. Taustaprogrammi ujuväärtuse saamiseks oleme kutsunud funktsiooni floatx() Kerase muutujaobjekti 'k' kaudu. See näitab, et oleme kasutanud väärtust float32.

Pildiandmete vormingu saamiseks kasutage funktsiooni image_Data_format() koos muutujaga 'k'. Selle kasutamisel näitab see, et meie taustaprogramm on kasutanud pildiandmete vormingut 'channels_last'. Taustaprogrammi eksponendi võimsuse saamiseks kutsuge funktsioon epsilon() muutujaga 'k'. See tagastab, et taustaprogramm kasutab '07' eksponentsiaalset võimsust. See kõik puudutab taustaprogrammi teabe toomist.

Get_uid() funktsioon

On aeg heita pilk mõnele TensorFlow taustafunktsioonile, et mõista selle funktsionaalsust. Üks selle enimkasutatavaid taustafunktsioone 'get_uid() funktsioon, mida kasutatakse vaikegraafiku tuvastamiseks, mida oleme kasutanud. Selle kasutamine parameetriga prefix=’’ tagastaks väärtuse 1, st vastavalt kasutusviisile. Jällegi, selle kasutamine tagastaks '2', nagu me seda uuesti kutsusime, ja graafiku väärtust on suurendatud. Pärast funktsiooni „reset_uids” kasutamist lähtestatakse graafiku kasutaja ID väärtuseks 0. Seega suurendaks funktsiooni get_uid() taaskasutamine seda 1 võrra.

Kohatäide() Funktsioon

Tensor on kasutanud funktsiooni placeholder(), et hoida selles erinevaid mõõtmeid. Näiteks oleme kasutanud seda järgmises illustratsioonis, et hoida 3D-pilti tensoris Kerase muutuja “k” kaudu ja salvestada see teise muutujasse “d”. Muutuja “d” väljund näitab kohahoidjas kasutatava kujundi omadusi.

Funktsiooni 'int_shape()' kasutatakse kohahoidjasse 'd' salvestatud väärtuse kuju kuvamiseks.

Dot() funktsioon

Kas olete kunagi korrutanud kahte vektorit? Kui jah, siis pole kahe tensori korrutamine keeruline. Selleks pakkus taustateek välja funktsiooni 'punkt'. Esiteks, kahe erineva kuju hoidmiseks oleme kahel esimesel real kasutanud funktsiooni placeholder() kuju väärtusi, et luua kaks hoidjat “x” ja “y”. Funktsioon dot() on kasutanud 'x' ja 'y' hoidjaid, et korrutada mõlemad tensorid ja salvestada tulemus teise muutujasse 'z'. Kui kasutate printimiseks tensorit 'z', kuvas see ekraanil korrutatud tensori kuju (1, 5).

Ones() Funktsioon

Taustamooduli funktsioon ones() on tuntud teatud kujundi kõigi väärtuste lähtestamiseks 1-ks. Näiteks oleme kasutanud funktsiooni ones() tensorikujul (3,3) ja salvestanud tulemuse muutuja 'v'. Funktsioon eval() jäetakse siin välja, et hinnata muutuja 'v' väärtust ja kuvada Pythoni keskkonnas. Vastutasuks on see teisendanud kujundi (3, 3) kõigi float32 andmetüübiga massiivimaatriksiks.

Funktsioon Batch_dot()

Tensorpartii määrab enne mudeli värskendamist sortitavate proovide koguarvu. TensorFlow taustaprogrammi funktsiooni batch_dot() kasutatakse peamiselt kahe erineva pakettandmete korrutamistulemuse väljaselgitamiseks. Seetõttu oleme loonud kaks tensormuutujat v1 ja v2 ning kasutanud funktsiooni Input() nende salvestamiseks sisendiks v1 ja v2. Pärast seda oleme proovinud funktsiooni batch_dot() nii tensorimuutujatel v1 kui ka v2 ning saadud väärtus salvestatakse teise muutujasse “v3”. Muutuja v3 printimisel leidsime vastutasuks saadud kujundi (2,2).

Muutuv funktsioon

Kui olete kunagi töötanud mõne muu keele kallal, olete võib-olla initsialiseerinud palju muutujaid märksõnaga „var” või ilma selleta. Võimalik, et olete sageli initsialiseerinud muutujad nende andmetüüpidega, nagu täisarv, string või märk. Python Kerase teegis saame mõnel tensorandmetel näidiste kujul luua mis tahes muutuja, kasutades funktsiooni variable().

Järgmisel pildil oleme loonud muutuja 'd', lisades kahe loendi näidisandmed funktsiooni variable() Kerase objektiga 'k'. Pärast selle muutuja lisamist oleme sellel muutujal 'd' kutsunud funktsiooni transpose(), et saada teada näidisandmete transponeerimine selles Kerase objekti 'k' kaudu. Saadud transponeerimine salvestatakse muutujasse 'val'. Siin on kasutatud Pythoni keele print-lauset, et printida tulemmuutuja “val” väärtus. Prindilause on kuvanud funktsiooni valikut, mille oleme rakendanud muutujale “d” ja iga loendi elementide koguarvu.

Pärast seda proovisime muutuja 'val' funktsiooni 'eval', et saada muutujale 'd' lisatud proovide transponeerimine ja printimisfunktsioon kuvas seda. Näete väljundis kahe loendi transponeerimist.

Eelmine koodiillustratsioon saavutati lihtsate Pythoni funktsioonide kasutamisega ilma konkreetset Pythoni teeki importimata. Kahe andmekogumi 'transponeerimise' saab leida NumPy massiivide abil. Selleks peame importima NumPy teegi alguses kui 'n'. Põhivorming on sama, kuid peame vormingu andmestiku lähtestama märksõnaga 'massiivi' selle asemel, et kasutada märksõna 'muutuja'. Näidis NumPy massiiv tuleks hoida tagasi muutuja 'd' juures. Sama NumPy objekti 'n' kasutatakse muutuja 'd' funktsiooni transpose() kutsumiseks ja selle tulemuse salvestamiseks muutujasse 'val'.

Prindilause on kutsunud selles olevat muutujat 'val', et kuvada selle transponeerimistensor. Näete, et muutuja 'val' saadud transponeeritud väärtuse kuvamiseks ei vaja me siin funktsiooni 'eval'. Nüüd oleme kasutanud muutuja funktsiooni argumendiga 'd' ja salvestanud tulemuse muutujasse 'z'. Pärast printlause proovimist, lisades sellesse argumendi väärtuse “z”, kuvas see väljundi samas eelmises vormingus, mida proovisime ülaltoodud muutuja näites.

Is_sparse() Funktsioon

Sõna 'hõre' tensoris kasutatakse hõreda tensori kohta, mis sisaldab enamasti nullidega kirjeid. Selles näites kasutame taustamooduli funktsiooni is_sparse(), et kontrollida, kas tensoris on suurem osa nullidest või mitte.

Esiteks oleme kutsunud funktsiooni placeholder(), et hoida tensori kuju (3, 3) koos argumendiga Sparse, mis on seatud tõeseks. See kohatäite väärtus jäetakse muutlikule x-le ja kuvatakse. Väljundis on kuvatud teave kohahoidja muutuja “x” kohta.

Näiteks rakendatakse sellele selle andmetüüpi, kuju ja funktsiooni. Pärast seda proovisime veel kord printimise avaldust, kutsudes välja selles oleva funktsiooni is_Sparse(). See funktsioon on võtnud muutuja 'x' oma argumendiks, et näidata, kas 'x' tensor on hõre või mitte. Väljund kuvab 'tõene'.

To_dense() funktsioon

Väidetavalt on tihe tensor see, mis kasutas kronoloogilist mäluplokki teabe kõrvuti salvestamiseks ja teabe väärtuste esitamiseks. Taustamooduli funktsioon “to_dense()” võimaldab meil teisendada hõreda tensori tihedaks tenoriks. Seetõttu kasutame muutujale 'x' tensori lisamiseks sama kohahoidja funktsiooni ja see tensor on seatud väärtusele 'hõre'.

Funktsiooni 'to_dense()' rakendatakse tiheda tensori muutujale 'x', st selle teisendamiseks tihedaks tenoriks ja salvestamiseks teise muutujasse 'res'. Nüüd on 'res' ise tihe tensor. Prindilause on muutuja 'res' printimiseks maha jäetud. Prindilausete kasutamine muutuja 'res' jaoks kuvas teavet 'res' teisendatud muutuja kohta, st hõre teisendati edukalt tihedaks ja palju muud.

Seejärel kutsutakse välja teine ​​prindifunktsioon, kasutades selles funktsiooni is_sparse(), et kontrollida, kas muutuja “res” on hõre või mitte. Väljund on näidanud, et muutuja 'res' ei ole hõre, st kuna oleme selle juba 'tihedaks' tensoriks teisendanud.

Juhuslik_uniformne_muutuja() Funktsioon

Kerase taustamooduli funktsioon random_uniform_variable() on spetsiaalselt loodud tensori lähtestamiseks ühtlase jaotuse kaudu. See võtab kokku kolm argumenti. Kõige esimest argumenti 'kuju' kasutatakse kujundi ridade ja veergude määratlemiseks korteeži vormis. Kui olete õppinud matemaatikat, võite olla õppinud keskmise ja standardhälbe mõistet.

Meetodi random_uniform_variable() puhul on järgmised kaks argumenti keskmine ja tüüpiline kõrvalekalle ühtlasest jaotusest. Sellel illustratsioonil oleme initsialiseerinud kaks tensorit 'x' ja 'y', kasutades standardset ühtlast jaotust funktsiooni random_uniform_variable() kaudu. Mõlemad tensorid sisaldavad erinevaid kujuvorminguid, st sama keskmise ja standardhälbega ridu ja veerge, st madal = 0 ja kõrge = 1.

Pärast seda eemaldame funktsiooni 'punkt', võttes korrutamiseks selles tensorid 'x' ja 'y'. Selle korrutamise tulemus salvestatakse muutujasse “z”. Lõpuks tuleb int_shape() kasutada resultanttensori “z” kuju kuvamiseks. Väljund näitab tensorit (2,2).

Utils

Kui soovite kasutada mõnda Pythoni süvaõppe kontseptsiooni väga kasulikku funktsiooni, peate oma skriptides kasutama Kerase teegi utils-moodulit. Näiteks kui soovite kuvada oma andmeid HDF5Matrixi vormingus, peate importima HDF5Matrixi klassi ja kasutama skriptis selle HDF5Matrixi funktsiooni.

To_categorical() funktsioon

See funktsioon võimaldab teil muuta klassivektorit maatriksiks, st binaarseks klassimaatriksiks. Oletame, et oleme importinud funktsiooni to_categorical() utilsi moodulist ja initsialiseerinud vektori 'A'. Vektor “A” on edasi antud funktsioonile to_categorical(). Selle klassi vektori 'A' binaarmaatriks on kuvatud.

print_summary() Funktsioon

Oma keskkonnas välja valatud mudeli kokkuvõtte välja printimiseks kasutati funktsiooni print_summary.

plot_model() Funktsioon

Funktsioon plot_model() tähistab mudelit punktivormingus ja võimaldab teil selle dokumenti salvestada.

Järeldus

Kokkuvõtteks võib öelda, et Pythoni keel on tänapäeva jaoks vajalik keel, kuna kõik läheb kiireks ja tehnoloogia on nii pööraselt kiiresti arenenud. Kogu selle õppejuhise jooksul oleme püüdnud kasutada Pythoni Kerase teeki süvaõppes ja tehisnärvivõrkudes. Selleks oleme selge arusaamise saamiseks läbinud ka selle taustateegi 'TensorFlow' tähtsuse ja kasutamise. Lisaks oleme arutanud ja selgitanud kõiki konfiguratsioone, mis on vajalikud Pythonis Kerase ja Anaconda keskkonna seadistamiseks Ubuntu 20.04 Linuxi operatsioonisüsteemis. Pärast seda oleme põhjalikult arutanud Kerase mudeleid, kihte ja mooduleid ükshaaval koos nende enimkasutatud funktsioonidega. Function API mudeli demonstreerimiseks vaadake ametlikku dokumentatsiooni.