Teški vodič

Teski Vodic



Je li itko ikada znao za korištenje Pythona u dizajnu i razvoju robota? Ako je to tako, mora se moći pokazati da je Pythonova ideja dubokog učenja jedini način da se to postigne. Strojno učenje je istraživanje tehnika optimizacije koje crpi inspiraciju iz modela ljudskog uma. Podatkovne znanstvene discipline uključujući robotiku, umjetnu inteligenciju (AI), identifikaciju glazbe i videa te identifikaciju slika bilježe porast upotrebe dubinskog učenja. Pristupi dubokog učenja izgrađeni su oko sintetičkih neuronskih mreža. Prije nego što dublje kopate, prvo morate razumjeti koncept Kerasa.

teško

Među najučinkovitijim i najjednostavnijim dodacima za izgradnju algoritama za dubinsko učenje je povišeni umjetni neuronski okvir koji se temelji na Pythonu nazvan Keras, a koji bi bio konstruiran na vrhu dobro poznatih okvira za dubinsko učenje kao što su TensorFlow ili CNTK. Kako bi se omogućilo brže istraživanje korištenjem dubljih neuronskih mreža, dizajniran je jednostavan za korištenje, proširiv i prilagodljiv. Obrađuje i Feedforward i Retractable mreže zasebno, kao i u kombinaciji. Koristi Backend paket za rješavanje malih operacija jer nije u mogućnosti njima upravljati. Implementacija Kerasa, osnove dubinskog učenja, Keras strukture, Keras raslojavanje, Keras paketi i programiranje u stvarnom vremenu bit će obrađeni u ovoj lekciji.

Postavite Keras na Linux

Korak 01: Ažurirajte sustav

Prije potpune demonstracije korištenja biblioteke “Keras” Pythona, moramo u potpunosti ažurirati naš Linux stroj kako bismo olakšali daljnje instalacije. U tu svrhu moramo brzo otvoriti aplikaciju “konzola” iz ugrađenih aplikacija sustava. Unutar određenog područja upita, dodali smo upit 'ažuriranje' Linuxa s uslužnim programom 'apt' i privilegijom 'sudo' za brzo ažuriranje sustava koji imamo. Za nastavak ovog procesa potrebna je naša korisnička lozinka kako bi se naš sustav mogao ispravno ažurirati.









Korak 02: Instalirajte Python i Pip

Za korištenje dubokog učenja putem Kerasa i TensorFlowa, moramo imati najnoviju verziju Pythona konfiguriranu na našem računalu. Stoga počinjemo instalirati Pythonov ažurirani paket zajedno s njegovim potrebnim uslužnim programom 'pip' na naš sustav. Za to moramo ponovno upotrijebiti uslužni program “apt” Ubuntu 20.04 Linux sustava u upitu “install” na ljusci nakon kojeg slijede imena paketa koje treba instalirati, tj. Python3 i Python3-pip. Nakon izvršenja ovog jednostavnog upita na području konzole, sustav će početi instalirati i konfigurirati oba paketa u našem sustavu.







S druge strane, ako vaš sustav ima instaliranu staru verziju uslužnog programa 'pip' za Python, trebali biste je ažurirati prije nego krenete dalje.



Nakon uspješne konfiguracije Pythona i njegovog uslužnog programa 'pip', vrijeme je da nadogradite Setuptools za Python kako biste izbjegli probleme u bliskoj budućnosti. Stoga smo isprobali instalacijski upit s uslužnim programom 'pip3' i opcijom -upgrade za instaliranje nadogradnje Setuptools-a, tj. alata za postavljanje. Traži trenutnu lozinku koju imamo za naš sustav, a mi smo je dodali.

Korak 03: Instalirajte TensorFlow

Za izgradnju strojnog učenja i nadziranih neuralnih modela, TensorFlow je najpoznatiji simbolički matematički paket. Nakon što smo prošli kroz instalacije, izvršavali smo isti 'pip3' instalacijski upit praćen nazivom paketa 'Tensorflow'.

Ostali uslužni programi povezani s TensorFlowom moraju biti u potpunosti instalirani na sustavu. Ti će se uslužni programi instalirati zajedno s TensorFlowom i može potrajati do 10 ili više minuta.

Korak 04: Instalirajte osnovne pakete

Nakon uspješne konfiguracije TensorFlowa u sustavu Ubuntu 20.04, također moramo konfigurirati neke pakete za izgradnju zajedno s nekim drugim uslužnim programima poput 'git' i 'cmake'. Isprobavajući isti 'apt' alat, instalirali smo mnogo potrebnih paketa, kao što je prikazano u nastavku:

Ovaj korak privlači našu najveću pozornost potvrđivanjem ove instalacije. Dodirnite “y” i nastavite.

Korak 05: Stvorite virtualno okruženje

Nakon potrebnih instalacija, vrijeme je za stvaranje virtualnog okruženja. Stoga moramo koristiti uslužni program Python3 s opcijom '-m' za stvaranje virtualnog okruženja 'kerasenv' putem varijable 'venv'. Upit 'ls' pokazuje da je okruženje stvoreno.

Sada se moramo kretati unutar virtualnog okruženja mape Keras. Dakle, koristili smo instrukciju “cd” zajedno s nazivom mape virtualnog okruženja. Nakon toga smo se kretali unutar mape “bin” ovog virtualnog okruženja i naveli njegovu pod. Kako bismo aktivirali ovo Python okruženje, isprobali smo instrukciju 'source' u njegovom području upita zajedno s datotekom 'activate'. Virtualno okruženje se aktivira pod nazivom “kerasenv”.

Korak 06: Instalirajte Python biblioteke

Nakon uspješnog postavljanja Python virtualnog okruženja, morate instalirati sve potrebne Python biblioteke prije instalacije Kerasa. Stoga smo prvo instalirali pandinu biblioteku u isto virtualno okruženje koristeći 'pip' paket Pythona.

Sustav će ga početi konfigurirati unutar Python virtualnog okruženja, kao što je prikazano na slici:

Nakon instaliranja biblioteke pandas, pokušajte instalirati biblioteku NumPy pomoću sljedeće metode:

Na vrlo sličan način instalirajte scipy knjižnicu Pythona u isto okruženje.

Sada instalirajte biblioteku matplotlib Pythona u okruženju.

Python koristi algoritme grupiranja i regresije u strojnom učenju za izvođenje modela neuronske mreže. Za to ima knjižnicu sci-kit learn koju instaliramo s uslužnim programom 'pip' zajedno s opcijom '-u' za konfiguriranje potrebnih paketa.

Obrada instalacije biblioteke scikit prikazana je u nastavku:

Za vizualizaciju u dubokom učenju trebamo instalirati morsku knjižnicu Pythona. Stoga smo ga instalirali u isto okruženje s upitom 'instaliraj'.

Korak 07: Instalirajte Keras biblioteku

Nakon instalacije svih potrebnih preduvjetnih biblioteka Pythona, konačno možemo instalirati Keras unutar virtualnog okruženja Pythona. Pomoćni program 'pip' koristit će se u tu svrhu unutar našeg upita 'install' s nazivom modula, tj. 'Keras'. Ako sustav pokaže da je njegov zahtjev već zadovoljen, to znači da je već instaliran i konfiguriran.

Ako već nije instaliran, ovaj će se upit početi preuzimati i konfigurirati u virtualnom okruženju bez odgode od jedne sekunde, a obrada će se prikazati, kao u nastavku:

Nakon potpune konfiguracije i instalacije biblioteke 'Keras' na virtualnom okruženju, vrijeme je da se na ljusci prikažu sve informacije o njoj putem upita 'pip show'. Izvršenje ovog upita 'pokaži' predstavljalo je verziju Kerasa instaliranu u našem virtualnom okruženju Pythona, njegov naziv, njegov sažetak, njegovu web početnu stranicu, autora, autorovu e-poštu, licencu, lokaciju koju zauzima u našem sustavu i mnoge više kao što je prikazano u nastavku:

Nakon najboljih instalacija Keras i TensorFlow biblioteka Pythona, moramo izaći iz virtualnog okruženja. Za to pokušajte s upitom 'deaktiviraj' na ljusci i zatvorite se.

Korak 08: Instalirajte Anaconda Cloud

Python ima oblak pod nazivom 'Anaconda' koji je neophodan za izgradnju primjera neuronske mreže u Pythonu. Stoga smo preuzeli njegovu izvršnu datoteku u naš sustav.

Ova se datoteka nalazi u trenutnoj matičnoj mapi Linux stroja prema upitu 'ls'. Prvo morate provjeriti je li to kontrolni zbroj, tj. je li u potpunosti točan ili nije putem upita sha256sum.

Nakon toga, trebamo instalirati preuzetu Bash datoteku anaconde u naš sustav koristeći 'Bash' instrukciju i naziv datoteke na istoj konzoli. Tražio je od nas da pregledamo licencni ugovor prije instalacije. Pa smo dodirnuli 'Enter' za nastavak.

Nakon prolaska kroz licencni ugovor, traži od nas da dodirnemo 'da' ako se slažemo s uvjetima. Morate pritisnuti Enter za nastavak instaliranja na istom mjestu ili napisati put do direktorija u koji ga želite instalirati. U suprotnom, upotrijebite 'Ctrl-c' za poništavanje instalacije.

Prikazat će se dugačak popis paketa koji će biti instalirani u ovom procesu. Nakon izvršenja neke transakcije, počet će instalirati pakete.

Nakon nekog vremena, anakonda je uspješno instalirana sa svojim dodatnim paketima.

Morate pokrenuti datoteku “activate” iz mape anaconda preko upita “source” kao root.

Pokušajte pokrenuti Anaconda navigator pomoću sljedećeg upita.

Za stvaranje i rad na novom okruženju conde, pokušajte s uputom 'conda create' s opcijom naziva nakon koje slijedi naziv novog okruženja, tj. PyCPU.

Ovaj proces zahtijeva našu potvrdu o stvaranju novog okruženja. Dodirnite 'y'.

Za aktiviranje i pokretanje novonapravljene conda okoline, upotrijebite upit 'conda activate' s nazivom vaše nove okoline, tj. PyCPU okolina je sada aktivirana.

Korak 09: Instalirajte Spyder IDE

Spyder IDE mora biti instaliran unutar ovog okruženja za izvođenje Python programa. Za ovo smo isprobali conda install upit u ljusci okruženja PyCPU s ključnom riječi 'spyder'.

Dodirnite “y” za nastavak instaliranja Spydera.

Korak 10: Instalirajte Pandas i Keras Library

Nakon instalacije Spydera, instalirajte pandinu biblioteku Pythona u anakonda okruženje koristeći conda install upit s opcijom –c.

Opet pritisnite gumb 'y' za nastavak.

Nakon uspješne konfiguracije pandi, instalirajte Keras biblioteku s istim upitom.

Nastavite nakon što kliknete gumb 'y'.

Možete pokrenuti Spyder IDE unutar konzole trenutne okoline anaconde na sljedeći način:

Spyder IDE se priprema za lansiranje.

Skrivena mapa “.keras” nalazi se u početnom direktoriju. Otkrijte ga i otvorite njegovu datoteku 'keras.json' kako biste u nju dodali sljedeće konfiguracije.

Postavite Keras i TensorFlow na Windows

Da biste postavili Keras i TensorFlow u Windows okruženju, morate biti sigurni da je jezik Python zajedno sa svojom bibliotekom 'pip' i Anaconda Navigator već postavljen na njemu. Nakon što ga postavite, trebali biste ga otvoriti iz područja pretraživanja i kretati se unutar kartice 'okruženja'. U ovoj kartici pronaći ćete naziv okruženja u kojem trenutno radite, tj. baza. U donjem području pronaći ćete sljedeću karticu. Dodirnite opciju 'kreiraj'.

Ovdje morate stvoriti novo okruženje pod nazivom 'TensorFlow', tj. trenutno ste unutar osnovnog okruženja. Odaberite najnoviju verziju Pythona koja će se koristiti i dodirnite gumb 'Stvori' za nastavak.

Vidjet ćete da se okruženje počelo učitavati.

Nakon nekog vremena, okruženje TensorFlow se u potpunosti instalira.

Na krajnjem lijevom području možete vidjeti sve instalirane i dostupne biblioteke i module za Python, kao što je prikazano u nastavku:

Sada moramo instalirati TensorFlow backend biblioteku Pythona koristeći ovo područje. U traku za pretraživanje upišite “TensorFlow” i označite isti paket kućišta s prikazanog popisa da biste ga instalirali. Dodirnite gumb 'Primijeni' da nastavite s instalacijom TensorFlowa zajedno s njegovim podmodulima kao što je 'Keras'.

Počeo je raditi i konfigurirati TensorFlow u našem okruženju Anaconda.

Tijekom instalacije prikazat će popis pod-paketa koji će biti instalirani u okruženju Anaconda. Pritisnite gumb 'Primijeni' i pričekajte neko vrijeme dok ne završi.

Nakon nekog vremena pronaći ćete sve instalirane pakete u istom području modula. Možete vidjeti da je biblioteka Keras instalirana s drugim paketima i da je ne moramo sada instalirati.

Na traci za pretraživanje sustava Windows pretražite ključnu riječ 'Jupyter'. Aplikacija pod nazivom “Jupyter Notebook (TensorFlow)” bila bi prikazana zajedno s ostalima. Dodirnite ga da biste pokrenuli jupyter Notebook s omogućenom pozadinom TensorFlow. Napravite novu Python datoteku i počnite raditi.

Duboko učenje putem Harda

Duboko učenje uključuje analizu unosa sloj po sloj, pri čemu svaki sloj postupno izvlači pojedinosti napredne razine iz unosa. Keras osigurava potpuni okvir za formiranje bilo koje vrste neuronske mreže. I kreativan i nevjerojatno jednostavan za razumijevanje, Keras. Omogućuje modele neuronskih mreža u rasponu od najnaivnijih do najvećih i najsloženijih.

Umjetna neuronska mreža (ANN)

Čini se da je metodologija 'umjetne neuronske mreže' (ANN) najčešće korištena i temeljna metoda dubokog učenja. Svoje tragove uzimaju iz ljudskog uma, prirodne najsloženije komponente našeg tijela, koja im služi kao model. Više od 90 milijardi mikroskopskih stanica koje se nazivaju 'neuroni' čine mozak pojedinca. Aksoni i dendriti su vrste živčanih vlakana koja međusobno povezuju neurone. Primarna funkcija aksona je slanje podataka od jednog povezanog neurona do sljedećeg. Za više informacija, pretražite na Google tražilici.

Arhitektura Keras

Keras API arhitektura je klasificirana u tri glavna dijela navedena u nastavku. Priznajmo svaku posebno.

  • Model
  • Sloj
  • Osnovni moduli

Tvrdi model

Keras model sastoji se od točno dvije vrste, tj. sekvencijalnog i funkcionalnog API-ja.

Sekvencijalni model

U osnovi, sekvencijalni model je kronološka kompilacija Kerasovih slojeva. Jednostavan, pojednostavljen sekvencijalni model može opisati gotovo sve neuronske mreže koje su trenutno u uporabi. Prilagođeni model može se napraviti pomoću klase Model koju otkriva sekvencijalni model. Pristup potklasiranja može se koristiti za izgradnju vlastitog sofisticiranog modela. U nastavku je prikazana demonstracija sekvencijalnog modela.

Dodajte slojeve

Skripta je pokrenuta uvozom sekvencijalnog načina rada preko keras.models, a druga linija je kreirala sekvencijalni model. Nakon toga, uvozom gustog sloja stvara se ulazni sloj i dodaje ulazni sloj modelu. Skriveni gusti sloj je stvoren i dodan modelu, a isto je učinjeno za izlazni gusti sloj.

Pristupite modelu

Možete dobiti informacije o slojevima vašeg modela, ulaznim podacima koje je koristio i njegovim izlaznim podacima. Funkcija model.layers omogućuje vam pristup svim slojevima. Model.inputs će prikazivati ​​ulazne tenzore, a model.output će prikazivati ​​izlazne tenzore.

Serializirajte model

Lako je vratiti model korišten u skripti kao objekt ili JSON. Na primjer, funkcija get_config() daje model kao entitet/objekt. Funkcija from_config() stvara novi model koristeći objekt kao parametarsku vrijednost.

Također možete promijeniti svoj model u JSON pomoću funkcije to_json().

Sažetak modela

Da biste dobili cijeli sažetak koji se odnosi na slojeve korištene unutar modela zajedno s nekim dodatnim informacijama, pozovite funkciju summary().

Uvježbajte i predvidite model

Za obuku i predviđanje, trebali bismo koristiti funkciju kompajliranja, funkciju fit, procijeniti funkciju i funkciju predviđanja u tom pogledu.

Tvrdi slojevi

Svaki ulazni, skriveni i prinosni sloj u predloženom modelu neuronskih mreža odgovara drugom Keras sloju u stvarnom modelu. Bilo koja sofisticirana neuronska mreža može se brzo razviti korištenjem mnoštva unaprijed izgrađenih slojeva biblioteke Keras. Postoje različiti Keras slojevi koje imamo, tj. temeljni slojevi, skupni slojevi, rekurentni slojevi i konvolucijski slojevi. Možete ih proučavati pretraživanjem na webu. Prva dva retka su uvozila sekvencijalni način rada, gusti, aktivacijski i ispadajući sloj.



Isprobavali smo Sequential() API za stvaranje sekvencijalnog modela ispadanja. Odbacivanjem aktivacijskog modela 'relu' stvorili smo gusti sloj putem 'Dense' API-ja. Kako bismo zadovoljili prekomjerno uklapanje gustog sloja, koristili smo Dropout() API, tj. raslojavanje ispadanja putem funkcije dropout(). Nakon ovoga, ovdje smo koristili gušći sloj s modelom aktivacije 'relu'. Kako bismo podnijeli guste slojeve od prekomjernog uklapanja, moramo koristiti Dropout slojeve. Na kraju smo odbacili naše završne guste slojeve koristeći model aktivacije tipa 'softmax'.







Jeste li ikada radili slojevito kuhanje? Ako je tako, onda vam ovaj koncept ne bi bilo teško razumjeti. Rezultat jedne razine poslužit će kao ulazni podatak za sljedeći sloj. Evo osnovnih stvari potrebnih za izgradnju potpuno novog sloja:



  • Oblik ulaznih podataka
  • Ukupni broj neurona/jedinica u sloju
  • Inicijalizatori
  • Regulatori
  • Ograničenja
  • Aktivacije

Oblik ulaznih podataka

Unutar jezika Python, svaka vrsta unosa pretvorena je u niz cijelih brojeva i zatim dodana modelu algoritma. Unutar Pythona moramo specificirati ulazni oblik da bismo dobili izlaz prema našim zahtjevima. U sljedećim primjerima naveli smo ulazni oblik (3,3), tj. 3 retka i 3 stupca. Izlaz je prikazivao matricu.







Inicijalizatori

Modul inicijalizatora Keras Layers pruža nam mnoge funkcije za određivanje specifične težine za ulazne podatke. Na primjer, funkcija zeros() specificira 0 za sve, ones() bi odredila za sve, a funkcija constant() će specificirati određenu konstantnu vrijednost koju je dodao korisnik za sve i više. Radi boljeg razumijevanja koristili smo funkciju identity() za generiranje matrice identiteta. Ostale funkcije također se mogu pretraživati ​​putem tražilice.



Ograničenja

Dostupne su različite funkcije ograničenja za primjenu ograničenja na parametar 'težine' sloja, tj. nenegativnu, jediničnu normu, maksimalnu normu, minimalnu maksimalnu normu i mnoge druge. Unutar sljedeće ilustracije primijenili smo normu ograničenja manju ili jednaku težini. Parametar 'max_value' je gornja granica ograničenja koje treba primijeniti, a os je dimenzija na koju bi se ograničenje primijenilo, tj. dimenzija 1.

Regulatori

Tijekom optimizacije, nameće različite troškove svojstvu sloja. Također je smislio neke funkcije za to, tj. L1 regularizator, L2 regularizator i 'LI i L2' Regularizer. Ovdje je najjednostavnija ilustracija funkcije L1 regulatora:

Aktivacije

Jedinstvena funkcija koja se naziva aktivacijska funkcija koristi se za određivanje je li određeni neuron aktivan ili ne. Funkcija aktivacije transformira dolazne podatke na složen način, što pomaže neuronima da uče učinkovitije. Evo nekoliko metoda aktivacije predstavljenih u primjerima u nastavku:

Tvrdi moduli

Kao što znamo, programski moduli obično sadrže funkcije, klase i varijable koje se koriste za različite i specifične svrhe. Upravo tako, Pythonova biblioteka Keras sadrži mnogo modula u sebi. Sva potrebna znanja o Keras modulima možete dobiti na webu.

Pozadina

Jedan od njegovih najpoznatijih i najkorištenijih modula je 'Backend' modul koji je dizajniran za korištenje pozadinskih biblioteka Pythona kao što su TensorFlow i Theano. Korištenjem pozadinskog modula možemo koristiti što više pozadinskih funkcija iz TensorFlow i Theano knjižnice. Za korištenje modula pozadinske biblioteke, moramo navesti pozadinsku biblioteku koja će se koristiti u konfiguracijskoj datoteci “keras.json, koju smo stvorili u skrivenoj mapi .keras. Prema zadanim postavkama, backend je naveden kao 'TensorFlow', ali možete ga promijeniti i na neki drugi, npr. Theano ili CNTK.

Unutar našeg primjera koristit ćemo biblioteku TensorFlow kao pozadinu. Za učitavanje konfiguracija pozadine iz datoteke keras.json korijenske mape 'keras' upotrijebite:

  • iz kerasa import backend kao k

Nakon uspješnog uvoza pozadine iz datoteke keras.json, vrijeme je da dobijete informacije o pozadini pomoću varijable 'k' s varijablom koju treba dohvatiti. Prvo smo dohvaćali naziv pozadine koju smo koristili i koju smo već uvezli pomoću funkcije 'backend()'. Vraća 'Tensorflow' kao svoju pozadinsku vrijednost. Da bismo dobili float vrijednost pozadine, pozvali smo funkciju floatx() preko Kerasovog objekta varijable 'k'. Pokazuje da smo koristili vrijednost float32.

Da biste dobili format slikovnih podataka, koristite funkciju image_Data_format() s varijablom 'k'. Kad ga koristimo, pokazuje da je naš backend koristio format slikovnih podataka 'channels_last'. Da biste dobili eksponentnu snagu za pozadinu, pozovite funkciju epsilon() s varijablom 'k'. Vraća da će pozadina koristiti eksponencijalnu snagu '07'. To je sve o dohvaćanju pozadinskih informacija.

Get_uid() funkcija

Vrijeme je da pogledamo neke pozadinske funkcije TensorFlowa kako bismo razumjeli njegovu funkcionalnost. Jedna od njegovih najčešće korištenih pozadinskih funkcija “get_uid() funkcija koja se koristi za identifikaciju zadanog grafa koji smo koristili. Korištenje s parametrom prefix=’’ vraćalo bi '1', tj. prema upotrebi. Opet, njegovo korištenje vratilo bi '2' kako smo ga ponovno zvali, a vrijednost grafikona je povećana. Nakon upotrebe funkcije 'reset_uids', vrijednost korisničkog ID-a grafikona bila bi poništena na 0. Stoga bi se ponovnom upotrebom funkcije get_uid() povećala za 1.

Funkcija Placeholder().

Tenzor je koristio funkciju placeholder() za držanje različitih dimenzionalnih oblika u sebi. Na primjer, unutar sljedeće ilustracije, koristili smo ga za držanje 3-D slike u tenzoru preko Kerasove varijable 'k' i spremanje u drugu varijablu 'd'. Izlaz varijable 'd' prikazuje svojstva oblika koji se koristi unutar rezerviranog mjesta.

Funkcija 'int_shape()' koristi se za prikaz oblika vrijednosti spremljene u rezerviranom mjestu 'd'.

Funkcija Dot().

Jeste li ikada pomnožili dva vektora? Ako je tako, neće vam biti izazov pomnožiti dva tenzora. Za to je pozadinska biblioteka osmislila funkciju 'točka'. Prvo, da bismo zadržali dva različita oblika, koristili smo vrijednosti oblika u funkciji placeholder() u prva 2 retka za stvaranje dva držača 'x' i 'y'. Funkcija dot() uzima držače 'x' i 'y' za množenje oba tenzora i spremanje rezultata u drugu varijablu 'z'. Pri korištenju tenzora 'z' za ispis, prikazao je umnoženi rezultantni oblik tenzora (1, 5) na ekranu.

Funkcija Ones().

Funkcija ones() pozadinskog modula poznata je po inicijalizaciji svih vrijednosti određenog oblika na 1. Na primjer, koristili smo funkciju ones() na obliku tenzora (3,3) i spremali rezultat u varijabla 'v'. Funkcija eval() ovdje je odbačena za procjenu vrijednosti varijable 'v' i prikaz u okruženju Python. Zauzvrat, pretvorio je oblik (3,3) u matricu niza svih onih s tipom podataka float32.

Funkcija Batch_dot().

Skupina tenzora specificirala bi ukupne uzorke za sortiranje prije ažuriranja modela. Funkcija batch_dot() pozadine TensorFlow uglavnom se koristi za pronalaženje rezultata množenja dvaju različitih skupnih podataka. Stoga smo stvorili dvije tenzorske varijable v1 i v2 i upotrijebili funkciju Input() da ih spremimo u v1 i v2 kao ulaz. Nakon toga, isprobali smo funkciju batch_dot() na obje varijable tenzora, v1 i v2, a rezultirajuća vrijednost bila bi spremljena u drugu varijablu 'v3'. Ispisom varijable v3, pronašli smo rezultantni oblik (2,2).

Funkcija varijable

Ako ste ikada radili na bilo kojem drugom jeziku, možda ste inicijalizirali mnoge varijable s ključnom riječi 'var' ili bez nje. Mnogo puta ste možda inicijalizirali varijable s njihovim tipovima podataka kao što su cijeli broj, niz ili znak. Unutar biblioteke Python Keras možemo kreirati bilo koju varijablu pomoću funkcije variable() na nekim tenzorskim podacima u obliku uzoraka.

Na sljedećoj slici stvorili smo varijablu 'd' dodavanjem dva uzorka podataka popisa u funkciju varijable() s Keras objektom 'k'. Nakon dodavanja ove varijable, pozivali smo funkciju transpose() na ovoj varijabli 'd' kako bismo saznali transponiranje uzorka podataka unutar nje preko Keras objekta 'k'. Rezultirajuća transponacija bila bi spremljena u varijablu 'val'. Naredba za ispis jezika Python ovdje je korištena za ispis vrijednosti rezultantne varijable 'val'. Ispis naredbe prikazuje izbor funkcije koju smo primijenili na varijablu 'd' i ukupan broj elemenata u svakoj listi.

Nakon toga, isprobali smo funkciju 'eval' na varijabli 'val' da dobijemo transponiranje uzoraka dodanih varijabli 'd', a funkcija ispisa je to prikazivala. Možete vidjeti transponiranje dvaju popisa u izlazu.

Prethodna ilustracija koda postignuta je upotrebom jednostavnih Python funkcija bez uvoza bilo koje posebne Python biblioteke. 'Transponiranje' dva skupa podataka može se pronaći pomoću polja NumPy. Za ovo moramo uvesti biblioteku NumPy kao 'n' na početku. Osnovni format je isti, ali trebamo inicijalizirati skup podataka oblika ključnom riječi 'niz' umjesto korištenja ključne riječi 'varijabla'. Uzorak NumPy niza treba zadržati u varijabli 'd'. Isti NumPy objekt “n” koristi se za pozivanje funkcije transpose() na varijabli “d” i spremanje njenog rezultata u varijablu “val”.

Naredba za ispis je pozivala varijablu 'val' u sebi kako bi prikazala svoj transponirani tenzor. Možete vidjeti da za prikaz rezultirajuće transponirane vrijednosti varijable 'val' ovdje ne trebamo funkciju 'eval'. Sada smo upotrijebili funkciju varijable s argumentom 'd' i spremili rezultat u varijablu 'z'. Nakon pokušaja ispisa naredbe dodavanjem vrijednosti argumenta “z” u nju, prikazao je izlaz u istom prethodnom formatu koji smo isprobali u gornjem primjeru varijable.

Is_sparse() funkcija

Riječ 'rijetki' u tenzoru koristi se za rijetki tenzor koji uglavnom sadrži unose s nulama. Unutar ovog primjera koristit ćemo funkciju is_sparse() pozadinskog modula da provjerimo ima li tenzor većinu nula ili ne.

Prvo, pozivali smo funkciju placeholder() za držanje oblika tenzora (3,3) zajedno s argumentom Sparse postavljenim na true. Ova vrijednost rezerviranog mjesta bila bi zadržana na promjenjivom 'x' i prikazana. Izlaz je prikazivao informacije u vezi s varijablom rezerviranog mjesta 'x'.

Na primjer, njegov tip podataka, oblik i funkcija primjenjuju se na njega. Nakon toga smo još jednom pokušali ispisati naredbu pozivajući funkciju is_Sparse() u njoj. Ova funkcija uzima varijablu 'x' kao argument za prikaz je li tenzor 'x' rijedak ili ne. Izlaz prikazuje 'true'.

To_dense() funkcija

Kaže se da je gusti tenzor onaj koji je koristio kronološki blok memorije za pohranjivanje informacija na susjedni način i predstavljanje vrijednosti informacija, također. Funkcija 'to_dense()' pozadinskog modula omogućuje nam pretvaranje rijetkog tenzora u gusti tenzor. Stoga koristimo istu funkciju rezerviranog mjesta za dodavanje tenzora varijabli 'x', a ovaj tenzor je postavljen na 'rijetki'.

Funkcija 'to_dense()' primjenjuje se na varijablu gustog tenzora 'x', tj. da je pretvori u gust tenzor i spremi u drugu varijablu 'res'. Sada, 'res' je sam gusti tenzor. Izjava za ispis je odbačena da bi se ispisala varijabla 'res'. Korištenje naredbi za ispis za varijablu 'res' prikazalo je informacije o pretvorenoj varijabli 'res', tj. uspješno pretvoreno rijetko u gusto i još mnogo toga.

Zatim se poziva druga funkcija ispisa korištenjem funkcije is_sparse() u njoj kako bi se provjerilo je li varijabla 'res' rijetka ili ne. Izlaz je pokazao da varijabla 'res' nije rijetka, tj. jer smo je već pretvorili u 'gusti' tenzor.

Funkcija Random_uniform_variable().

Funkcija random_uniform_variable() u pozadinskom modulu Keras posebno je dizajnirana za inicijalizaciju tenzora putem uniformne distribucije. Potrebna su ukupno tri argumenta. Prvi argument 'oblik' koristi se za definiranje redaka i stupaca oblika unutar obrasca torke. Ako ste se bavili matematikom, možda ste naučili koncept srednje vrijednosti i standardne devijacije.

U metodi random_uniform_variable(), sljedeća dva argumenta su srednja vrijednost i tipično odstupanje od uniformne distribucije. U okviru ove ilustracije, inicijalizirali smo dva tenzora 'x' i 'y' koristeći standardnu ​​uniformnu distribuciju putem funkcije random_uniform_variable(). Oba tenzora sadrže različite formate oblika, tj. retke i stupce s istom sredinom i standardnom devijacijom, tj. nisko=0 i visoko=1.

Nakon toga odbacujemo funkciju 'točka' uzimajući tenzore 'x' i 'y' u njoj za množenje. Rezultat ovog množenja bi se spremio u varijablu “z”. Na kraju, int_shape() se mora koristiti za prikaz oblika rezultirajućeg tenzora 'z'. Izlaz prikazuje tenzor (2,2).

Utils

Ako želite koristiti neke od vrlo korisnih funkcija iz koncepta dubokog učenja Pythona, morate koristiti modul utils biblioteke Keras u svojim skriptama. Na primjer, ako želite prikazati svoje podatke u formatu HDF5Matrix, morate uvesti klasu HDF5Matrix i koristiti njenu HDF5Matrix funkciju u skripti.

To_categorical() funkcija

Ova vam funkcija omogućuje izmjenu vektora klase u matricu, tj. matricu binarne klase. Recimo, uvezli smo funkciju to_categorical() iz modula utils i inicijalizirali vektor 'A'. Vektor “A” proslijeđen je funkciji to_categorical(). Prikazana je binarna matrica za ovaj vektor klase “A”.

print_summary() funkcija

Za ispis sažetka modela koji smo odbacili u našem okruženju, korištena je funkcija print_summary.

plot_model() funkcija

Funkcija plot_model() označava model u obliku točke i omogućuje vam da ga spremite u dokument.

Zaključak

Ukratko, možemo reći da je jezik Python neophodan jezik za današnje doba jer sve postaje brzo i tehnologija se razvija tako ludo brzo. Kroz ove smjernice za učenje bavili smo se korištenjem Python-ove biblioteke Keras u dubokom učenju i umjetnim neuronskim mrežama. Za to smo također prošli kroz važnost i korištenje njegove pozadinske biblioteke 'TensorFlow' kako bismo dobili jasno razumijevanje. Osim toga, razgovarali smo i objasnili svaku konfiguraciju potrebnu za postavljanje okruženja Keras i Anaconda u Pythonu unutar operativnog sustava Ubuntu 20.04 Linux. Nakon ovoga, detaljno smo razgovarali o Keras modelima, slojevima i modulima, jednom po jednom, zajedno s njihovim najčešće korištenim funkcijama. Za demonstraciju Function API modela provjerite službenu dokumentaciju.