Tvrdý návod

Tvrdy Navod



Vedel niekto niekedy o použití Pythonu pri navrhovaní a vývoji robotov? Ak je to tak, človek musí byť schopný preukázať, že Pythonova myšlienka hlbokého učenia je jediným spôsobom, ako to dosiahnuť. Strojové učenie je výskum optimalizačných techník, ktorý čerpá inšpiráciu z modelu ľudskej mysle. V odboroch vedy o údajoch vrátane robotiky, umelej inteligencie (AI), identifikácie hudby a videa a identifikácie obrázkov sa čoraz viac využíva hlboké učenie. Prístupy hlbokého učenia sú postavené na syntetických neurónových sieťach. Predtým, ako začnete hĺbať, musíte najprv pochopiť koncept Keras.

Ťažko

Medzi najefektívnejšie a užívateľsky prívetivé doplnky na vytváranie algoritmov hlbokého učenia patrí zvýšený umelý neurónový rámec založený na Pythone s názvom Keras, ktorý by bol skonštruovaný na vrchole známych rámcov hlbokého učenia, ako sú TensorFlow alebo CNTK. Na umožnenie rýchlejšieho prieskumu s využitím hlbších neurónových sietí je navrhnutý tak, aby bol užívateľsky prívetivý, rozšíriteľný a prispôsobiteľný. Spravuje dopredné aj zasúvateľné siete samostatne, ako aj v kombinácii. Používa balík Backend na riešenie malých operácií, pretože ich nedokáže spravovať. Nasadenie Keras, základy hlbokého učenia, Keras štruktúry, Keras vrstvenie, Keras balíky a programovanie v reálnom čase budú zahrnuté v tejto lekcii.

Nastavte Keras v systéme Linux

Krok 01: Aktualizujte systém

Pred úplnou ukážkou používania knižnice „Keras“ v Pythone musíme úplne aktualizovať náš počítač so systémom Linux, aby sme uľahčili ďalšie inštalácie. Na tento účel musíme rýchlo otvoriť „konzolovú“ aplikáciu zo vstavaných aplikácií systému. V rámci konkrétnej oblasti dopytov sme pridali „aktualizačný“ dotaz Linuxu s utilitou „apt“ a „sudo“ privilégiom na rýchlu aktualizáciu systému, ktorý máme. Aby mohol byť náš systém správne aktualizovaný, vyžaduje naše používateľské heslo, aby mohol pokračovať v tomto procese.









Krok 02: Nainštalujte Python a Pip

Aby sme mohli používať Deep Learning prostredníctvom Keras a TensorFlow, musíme mať na našom počítači nakonfigurovanú najnovšiu verziu Pythonu. Preto začneme inštalovať aktualizovaný balík Pythonu spolu s jeho potrebným nástrojom „pip“ do nášho systému. Na to musíme znova použiť nástroj „apt“ systému Ubuntu 20.04 Linux v dotaze „install“ na shell, za ktorým nasledujú názvy balíkov, ktoré sa majú nainštalovať, t. j. Python3 a Python3-pip. Po vykonaní tohto jednoduchého dotazu v oblasti konzoly systém začne inštalovať a konfigurovať oba balíky v našom systéme.







Na druhej strane, ak má váš systém nainštalovanú starú verziu pomôcky „pip“ pre Python, mali by ste ju aktualizovať skôr, ako sa pohnete ďalej.



Po úspešnej konfigurácii Pythonu a jeho pomôcky „pip“ je čas aktualizovať Setuptools pre Python, aby ste sa v blízkej budúcnosti vyhli problémom. Preto sme vyskúšali inštalačný dotaz s obslužným programom „pip3“ a možnosťou –upgrade, aby sme nainštalovali aktualizáciu Setuptools, t. j. inštalačných nástrojov. Žiada o aktuálne heslo, ktoré máme pre náš systém, a pridali sme ho.

Krok 03: Nainštalujte TensorFlow

TensorFlow je najznámejší symbolický matematický balík na vytváranie strojového učenia a riadených neurónových modelov. Po vykonaní inštalácií sme vykonali rovnaký inštalačný dotaz „pip3“, po ktorom nasledoval názov balíka „Tensorflow“.

Ostatné nástroje súvisiace s TensorFlow musia byť v systéme úplne nainštalované. Tieto nástroje sa nainštalujú spolu s TensorFlow a môže to trvať až 10 alebo viac minút.

Krok 04: Nainštalujte základné balíky

Po úspešnej konfigurácii TensorFlow v systéme Ubuntu 20.04 musíme nakonfigurovať aj niektoré zostavovacie balíčky spolu s niektorými ďalšími nástrojmi, ako sú „git“ a „cmake“. Vyskúšaním rovnakého nástroja „apt“ sme nainštalovali veľa potrebných balíkov, ako je uvedené nižšie:

Tento krok priťahuje našu najväčšiu pozornosť potvrdením tejto inštalácie. Klepnite na „y“ a pokračujte.

Krok 05: Vytvorte virtuálne prostredie

Po potrebných inštaláciách je čas na vytvorenie virtuálneho prostredia. Preto musíme použiť utilitu Python3 s voľbou „-m“ na vytvorenie virtuálneho prostredia „kerasenv“ cez premennú „venv“. Dotaz „ls“ ukazuje, že prostredie je vytvorené.

Teraz sa musíme pohybovať vo virtuálnom prostredí priečinka Keras. Používali sme teda inštrukciu „cd“ spolu s názvom priečinka virtuálneho prostredia. Potom sme sa už pohybovali v priečinku „bin“ tohto virtuálneho prostredia a uvádzali sme jeho pod. Na aktiváciu tohto prostredia Pythonu sme vyskúšali inštrukciu „zdroj“ v oblasti dopytu spolu so súborom „aktivovať“. Virtuálne prostredie sa aktivuje s názvom „kerasenv“.

Krok 06: Nainštalujte knižnice Pythonu

Po úspešnom nastavení virtuálneho prostredia Python musíte pred inštaláciou Kerasu nainštalovať všetky potrebné knižnice Pythonu. Preto sme knižnicu pandy nainštalovali najskôr do rovnakého virtuálneho prostredia pomocou balíka „pip“ Pythonu.

Systém ho začne konfigurovať vo virtuálnom prostredí Pythonu, ako je znázornené na obrázku:

Po nainštalovaní knižnice pandy skúste nainštalovať knižnicu NumPy pomocou nasledujúcej metódy:

Veľmi podobným spôsobom nainštalujte knižnicu scipy Pythonu v rovnakom prostredí.

Teraz nainštalujte knižnicu matplotlib Pythonu do prostredia.

Python používa klastrovacie a regresné algoritmy v strojovom učení na vykonávanie modelov neurónových sietí. Na tento účel má knižnicu sci-kit learn, ktorú inštalujeme pomocou nástroja „pip“ spolu s možnosťou „-u“ na konfiguráciu požadovaných balíkov.

Spracovanie inštalácie knižnice scikit je znázornené nižšie:

Pre vizualizáciu v hlbokom učení potrebujeme, aby bola nainštalovaná seaborn knižnica Pythonu. Preto sme ho nainštalovali v rovnakom prostredí s dotazom „install“.

Krok 07: Nainštalujte knižnicu Keras

Po inštalácii všetkých nevyhnutných knižníc Pythonu môžeme konečne nainštalovať Keras vo virtuálnom prostredí Pythonu. Nástroj „pip“ sa na tento účel použije v rámci nášho „inštalačného“ dotazu s názvom modulu, t. j. „Keras“. Ak systém ukáže, že jeho požiadavka je už splnená, znamená to, že je už nainštalovaný a nakonfigurovaný.

Ak ešte nie je nainštalovaný, tento dotaz ho začne sťahovať a konfigurovať vo virtuálnom prostredí bez oneskorenia jednej sekundy a zobrazí sa spracovanie, ako je uvedené nižšie:

Po úplnej konfigurácii a inštalácii knižnice „Keras“ vo virtuálnom prostredí je čas zobraziť úplné informácie o nej v prostredí pomocou dopytu „pip show“. Vykonanie tohto „show“ dotazu predstavuje verziu Kerasu nainštalovanú v našom virtuálnom prostredí Pythonu, jeho názov, jeho súhrn, jeho webovú stránku, autora, e-mail autora, licenciu, umiestnenie v našom systéme a mnohé ďalšie viac, ako je uvedené nižšie:

Po najlepších inštaláciách knižníc Keras a TensorFlow Pythonu musíme virtuálne prostredie ukončiť. Na tento účel vyskúšajte dotaz „deaktivovať“ na shell a ukončite ho.

Krok 08: Nainštalujte Anaconda Cloud

Python má cloud s názvom „Anaconda“, ktorý je potrebný na vytvorenie príkladov neurónových sietí v Pythone. Preto sme do nášho systému stiahli jeho spúšťací súbor.

Tento súbor sa nachádzal v aktuálnom domovskom priečinku počítača so systémom Linux podľa dopytu „ls“. Najprv sa musíte uistiť, že ide o kontrolný súčet, t. j. či je úplne správny alebo nie prostredníctvom dotazu sha256sum.

Potom musíme nainštalovať stiahnutý súbor Bash anaconda do nášho systému pomocou inštrukcie „Bash“ a názvu súboru na tej istej konzole. Pred inštaláciou nás žiada, aby sme skontrolovali licenčnú zmluvu. Pokračujeme teda klepnutím na „Enter“.

Po preštudovaní licenčnej zmluvy nás požiada, aby sme klepli na „áno“, ak súhlasíme s podmienkami. Ak chcete pokračovať v inštalácii na rovnakom mieste, musíte stlačiť kláves Enter alebo napísať cestu k adresáru, do ktorého ju chcete nainštalovať. V opačnom prípade použite „Ctrl-c“ na zrušenie inštalácie.

Zobrazí sa dlhý zoznam balíkov, ktoré budú nainštalované v tomto procese. Po vykonaní určitej transakcie začne inštalovať balíčky.

Po chvíli bola anakonda úspešne nainštalovaná so svojimi dodatočnými balíkmi.

Musíte spustiť súbor „aktivovať“ z priečinka anaconda prostredníctvom „zdrojového“ dotazu ako root.

Skúste spustiť navigátor anakondy pomocou nasledujúceho dotazu.

Ak chcete vytvoriť nové prostredie conda a pracovať na ňom, vyskúšajte inštrukciu „conda create“ s možnosťou názvu, za ktorou bude nasledovať názov nového prostredia, t. j. PyCPU.

Tento proces vyžaduje naše potvrdenie o vytvorení nového prostredia. Klepnite na „y“.

Ak chcete aktivovať a spustiť novo vytvorené prostredie conda, použite dotaz „conda activate“ s názvom vášho nového prostredia, t. j. prostredie PyCPU je teraz aktivované.

Krok 09: Nainštalujte Spyder IDE

Spyder IDE musí byť nainštalované v tomto prostredí na spustenie programov Python. Na tento účel sme vyskúšali inštalačný dotaz conda v prostredí PyCPU s kľúčovým slovom „spyder“.

Klepnutím na „y“ pokračujte v inštalácii Spydera.

Krok 10: Nainštalujte Pandas a knižnicu Keras

Po inštalácii Spydera nainštalujte pandu knižnicu Pythonu v prostredí anakondy pomocou inštalačného dotazu conda s voľbou –c.

Ak chcete pokračovať, znova stlačte tlačidlo „y“.

Po úspešnej konfigurácii pand nainštalujte knižnicu Keras s rovnakým dotazom.

Pokračujte po kliknutí na tlačidlo „y“.

Spyder IDE môžete spustiť v rámci aktuálnej konzoly prostredia anakondy takto:

Spyder IDE sa pripravuje na spustenie.

Skrytý priečinok „.keras“ sa nachádza v domovskom adresári. Odkryte ho a otvorte jeho súbor „keras.json“, aby ste doň pridali nasledujúce konfigurácie.

Nastavte Keras a TensorFlow v systéme Windows

Ak chcete nastaviť Keras a TensorFlow v prostredí Windows, musíte sa uistiť, že jazyk Python spolu s jeho knižnicou „pip“ a Anaconda Navigator je už v ňom nastavený. Po nastavení by ste ho mali otvárať z oblasti vyhľadávania a pohybovať sa na karte „prostredia“. Na tejto karte nájdete názov prostredia, v ktorom práve pracujete, t.j. základňa. V oblasti nižšie nájdete nasledujúcu kartu. Klepnite na možnosť „vytvoriť“.

Tu musíte vytvoriť nový názov prostredia „TensorFlow“, t. j. momentálne sa nachádzate v základnom prostredí. Vyberte najnovšiu verziu Pythonu, ktorá sa má použiť, a pokračujte klepnutím na tlačidlo „Vytvoriť“.

Uvidíte, že sa prostredie začalo načítavať.

Po chvíli sa prostredie TensorFlow úplne nainštaluje.

V oblasti úplne vľavo môžete vidieť všetky nainštalované a dostupné knižnice a moduly pre Python, ako je uvedené nižšie:

Teraz musíme pomocou tejto oblasti nainštalovať backendovú knižnicu TensorFlow Pythonu. Do vyhľadávacieho panela napíšte „TensorFlow“ a označte rovnaký balík puzdra zo zobrazeného zoznamu, aby ste ho nainštalovali. Klepnutím na tlačidlo „Použiť“ pokračujte v inštalácii TensorFlow spolu s jeho podmodulmi ako „Keras“.

Začalo pracovať a konfigurovať TensorFlow v našom prostredí Anaconda.

Počas inštalácie sa zobrazí zoznam čiastkových balíkov, ktoré sa majú nainštalovať do prostredia Anaconda. Poklepte na tlačidlo „Použiť“ a chvíľu počkajte, kým sa neskončí.

Po chvíli nájdete všetky nainštalované balíčky v rovnakej oblasti modulov. Môžete vidieť, že knižnica Keras bola nainštalovaná s inými balíkmi a teraz ju nemusíme inštalovať.

Na paneli vyhľadávania systému Windows vyhľadajte kľúčové slovo „Jupyter“. Aplikácia s názvom „Jupyter Notebook (TensorFlow)“ sa zobrazí spolu s ďalšími. Klepnutím naň spustíte jupyter Notebook s povoleným backendom TensorFlow. Vytvorte nový súbor Python a začnite pracovať.

Hlboké učenie prostredníctvom tvrdého

Hlboké učenie zahŕňa analýzu príjmu vrstvy po vrstve, pričom každá vrstva postupne extrahuje podrobnosti na pokročilej úrovni zo vstupu. Keras poskytuje úplný rámec na vytvorenie akéhokoľvek druhu neurónovej siete. Tvorivé a neuveriteľne jednoduché na pochopenie, Keras. Umožňuje modely neurónových sietí od najnaivnejších až po najväčší a najvyšší komplex.

Umelá neurónová sieť (ANN)

Metodológia „umelej neurónovej siete“ (ANN) sa zdá byť najpoužívanejšou a základnou metódou hlbokého učenia. Vychádzajú z ľudskej mysle, prirodzenej najkomplikovanejšej zložky nášho tela, ktorá slúži ako ich model. Viac ako 90 miliárd mikroskopických buniek nazývaných „neuróny“ tvorí mozog jednotlivca. Axóny a dendrity sú typy nervových vlákien, ktoré spájajú neuróny. Primárnou funkciou axónu je posielať dáta z jedného prepojeného neurónu na druhý. Ďalšie informácie nájdete vo vyhľadávači Google.

Architektúra Keras

Architektúra Keras API bola rozdelená do troch hlavných častí uvedených nižšie. Poďme sa zamaskovať na každom z nich.

  • Model
  • Vrstva
  • Základné moduly

Tvrdý model

Model Keras pozostáva práve z dvoch typov, teda sekvenčného a funkčného API.

Sekvenčný model

Sekvenčný model je v podstate chronologická kompilácia vrstiev Keras. Jednoduchý, zjednodušený sekvenčný model dokáže opísať takmer všetky neurónové siete, ktoré sa v súčasnosti používajú. Prispôsobený model možno vytvoriť pomocou triedy Model, ktorú sekvenčný model odhalí. Prístup podtriedy možno použiť na vytvorenie nášho vlastného sofistikovaného modelu. Ukážka sekvenčného modelu je uvedená nižšie.

Pridať vrstvy

Skript bol spustený z importu sekvenčného režimu cez keras.models a druhý riadok vytváral sekvenčný model. Potom importovanie hustej vrstvy vytvorí vstupnú vrstvu a pridá vstupnú vrstvu do modelu. Skrytá hustá vrstva bola vytvorená a pridaná do modelu a to isté sa vykonalo pre výstupnú hustú vrstvu.

Prístup k modelu

Môžete získať informácie týkajúce sa vrstiev vášho modelu, vstupných údajov, ktoré používal, a jeho výstupných údajov. Funkcia model.layers umožňuje prístup ku všetkým vrstvám. Model.inputs by zobrazoval vstupné tenzory a model.output zobrazuje výstupné tenzory.

Serializujte model

Je ľahké vrátiť model použitý v skripte ako objekt alebo JSON. Napríklad funkcia get_config() poskytuje model ako entitu/objekt. Funkcia from_config() vytvorí nový model s použitím objektu ako parametrickej hodnoty.

Svoj model môžete zmeniť na JSON aj pomocou funkcie to_json().

Súhrn modelu

Ak chcete získať celý súhrn týkajúci sa vrstiev použitých v rámci modelu spolu s ďalšími informáciami, zavolajte funkciu Summary().

Trénujte a predpovedajte model

Na trénovanie a predpovedanie by sme v tomto ohľade mali používať funkciu kompilácie, funkcie fit, vyhodnotiť funkciu a predpovedať funkciu.

Tvrdé vrstvy

Každá vstupná, skrytá a výnosová vrstva v navrhovanom modeli neurónových sietí zodpovedá inej vrstve Keras v reálnom modeli. Akákoľvek sofistikovaná neurónová sieť môže byť rýchlo vyvinutá pomocou množstva vopred vytvorených vrstiev knižnice Keras. Máme rôzne vrstvy Keras, t.j. vrstvy jadra, združovacie vrstvy, opakujúce sa vrstvy a konvolučné vrstvy. Môžete si ich preštudovať vyhľadávaním na webe. Prvé dva riadky importovali sekvenčný režim, hustotu, aktiváciu a vrstvu Dropout.



Skúšali sme Sequential() API na vytvorenie sekvenčného modelu vypadávania. Odhodením aktivačného modelu „relu“ sme vytvorili hustú vrstvu prostredníctvom rozhrania API „Dense“. Aby sme sa vyhli nadmernému nasadeniu hustej vrstvy, používali sme API Dropout(), t. j. vrstvenie odpadkov pomocou funkcie dropout(). Potom sme tu použili hustejšiu vrstvu s aktivačným modelom „relu“. Aby sme zvládli husté vrstvy z nadmerného nasadenia, musíme použiť vrstvy Dropout. Nakoniec sme odstránili naše konečné husté vrstvy pomocou aktivačného modelu typu „softmax“.







Už ste niekedy robili vrstvenie pri varení? Ak áno, potom by pre vás nebolo ťažké pochopiť tento pojem. Výsledok jednej úrovne bude slúžiť ako vstupné dáta pre nasledujúcu vrstvu. Tu sú základné veci potrebné na vytvorenie úplne novej vrstvy:



  • Tvar vstupných údajov
  • Celkový počet neurónov/jednotiek vo vrstve
  • Inicializátory
  • Regulátory
  • Obmedzenia
  • Aktivácie

Tvar vstupných údajov

V jazyku Python bol každý druh vstupu prevedený na pole celých čísel a potom pridaný do modelu algoritmu. V Pythone musíme špecifikovať vstupný tvar, aby sme získali výstup podľa našej požiadavky. V nasledujúcich príkladoch sme zadali vstupný tvar (3,3), teda 3 riadky a 3 stĺpce. Výstupom bola matica.







Inicializátory

Modul inicializátorov Keras Layers nám poskytuje mnoho funkcií na určenie špecifickej váhy pre vstupné dáta. Napríklad funkcia zeros() špecifikuje 0 pre všetkých, ones() by špecifikovala pre všetkých a funkcia Constant() určí špecifikovanú konštantnú hodnotu pridanú používateľom pre všetky a ďalšie. Pre lepšie pochopenie sme na vygenerovanie matice identity použili funkciu identity(). Ostatné funkcie je možné vyhľadať aj z vyhľadávača.



Obmedzenia

K dispozícii sú rôzne obmedzovacie funkcie na aplikovanie obmedzení na parameter „váha“ vrstvy, t.j. nezáporná, jednotková norma, maximálna norma, minmaxnorm a mnohé ďalšie. V rámci nasledujúcej ilustrácie sme použili normu obmedzenia menšiu alebo rovnú hmotnosti. Parameter „max_value“ je horná hranica obmedzenia, ktoré sa má použiť, a os je rozmer, na ktorý by sa obmedzenie vzťahovalo, t. j. rozmer 1.

Regulátory

Počas optimalizácie ukladá vlastnosti vrstvy rôzne poplatky. Prišiel aj s niektorými funkciami, t. j. regularizátor L1, regularizátor L2 a regulátor „LI a L2“. Tu je najjednoduchšia ilustrácia funkcie regularizátora L1:

Aktivácie

Jedinečná funkcia nazývaná aktivačná funkcia sa používa na určenie, či je konkrétny neurón aktívny alebo nie. Aktivačná funkcia transformuje prichádzajúce dáta komplexným spôsobom, čo pomáha neurónom študovať efektívnejšie. Tu je niekoľko spôsobov aktivácie uvedených v príkladoch uvedených nižšie:

Tvrdé moduly

Ako vieme, programovacie moduly zvyčajne obsahujú funkcie, triedy a premenné, ktoré sa používajú na rôzne a špecifické účely. Knižnica Keras v Pythone obsahuje veľa modulov. Všetky potrebné znalosti o moduloch Keras môžete získať z webu.

Backend

Jedným z jeho najznámejších a najpoužívanejších modulov je modul „Backend“, ktorý bol navrhnutý na používanie backendových knižníc Pythonu ako TensorFlow a Theano. Pomocou backend modulu môžeme využiť čo najviac backendových funkcií z knižnice TensorFlow a Theano. Aby sme mohli použiť modul backendovej knižnice, musíme špecifikovať backendovú knižnicu, ktorá sa má použiť, v konfiguračnom súbore „keras.json, ktorý sme vytvorili v skrytom priečinku .keras. V predvolenom nastavení je backend špecifikovaný ako „TensorFlow“, ale môžete ho zmeniť aj na iný, napríklad Theano alebo CNTK.

V našom príklade budeme ako backend používať knižnicu TensorFlow. Ak chcete načítať konfigurácie backendu zo súboru keras.json koreňového priečinka „keras“, použite:

  • z keras importovať backend ako k

Po úspešnom importovaní backendu zo súboru keras.json je čas získať informácie o backende pomocou premennej „k“ s premennou, ktorá sa má načítať. Najprv sme získali názov backendu, ktorý sme používali a už importovali pomocou funkcie „backend()“. Vracia „Tensorflow“ ako svoju koncovú hodnotu. Aby sme získali hodnotu float backendu, volali sme funkciu floatx() cez premenný objekt Keras „k“. Ukazuje to, že sme použili hodnotu float32.

Ak chcete získať formát obrazových údajov, použite funkciu image_Data_format() s premennou „k“. Pri jeho používaní sa ukazuje, že náš backend využíva formát obrazových údajov „channels_last“. Ak chcete získať mocninu exponentu pre backend, zavolajte funkciu epsilon() s premennou „k“. Vráti, že backend bude používať exponenciálnu silu „07“. To je všetko o získavaní backendových informácií.

Funkcia Get_uid().

Je čas pozrieť sa na niektoré backendové funkcie TensorFlow, aby ste pochopili jeho funkčnosť. Jedna z jeho najpoužívanejších backendových funkcií „funkcia get_uid(), ktorá sa používa na identifikáciu predvoleného grafu, ktorý sme používali. Jeho použitie s parametrom prefix='' by vrátilo „1“, t. j. podľa použitia. Opäť, jeho použitie by vrátilo „2“, ako sme to znova nazývali, a hodnota grafu sa zvýšila. Po použití funkcie „reset_uids“ by sa hodnota ID používateľa grafu nastavila na 0. Takže opätovné použitie funkcie get_uid() by ju zvýšilo o 1.

Funkcia zástupného symbolu ().

Tenzor používa funkciu zástupného symbolu () na uchovávanie rôznych rozmerových tvarov. Napríklad na nasledujúcom obrázku sme ho použili na udržanie 3-D obrazu v tenzore cez Kerasovu premennú „k“ a jeho uloženie do inej premennej „d“. Výstup premennej „d“ zobrazuje vlastnosti tvaru použitého v zástupnom symbole.

Funkcia „int_shape()“ sa používa na zobrazenie tvaru hodnoty uloženej v zástupnom symbole „d“.

Funkcia bodka().

Už ste niekedy vynásobili dva vektory? Ak áno, nebude pre vás náročné vynásobiť dva tenzory. Na tento účel backendová knižnica prišla s funkciou „bodka“. Po prvé, aby sme udržali dva rôzne tvary, použili sme hodnoty tvaru vo funkcii placeholder() v prvých 2 riadkoch na vytvorenie dvoch držiakov „x“ a „y“. Funkcia dot() používa držiaky „x“ a „y“, aby vynásobila oba tenzory a uložila výsledok do inej premennej „z“. Pri použití tenzora „z“ na tlač sa na obrazovke zobrazil vynásobený výsledný tvar tenzora (1, 5).

Funkcia Ones().

Funkcia ones() backendového modulu je známa tým, že inicializuje všetky hodnoty konkrétneho tvaru na 1. Napríklad sme použili funkciu ones() na tvare tenzora (3,3) a uložili výsledok do premenná „v“. Funkcia eval() je tu vypnutá, aby sa vyhodnotila hodnota premennej „v“ a zobrazila sa v prostredí Python. Na oplátku skonvertoval tvar (3,3) na maticu poľa všetkých s dátovým typom float32.

Funkcia Batch_dot().

Dávka tenzora by špecifikovala celkový počet vzoriek na triedenie pred aktualizáciou modelu. Funkcia batch_dot() backendu TensorFlow sa používa hlavne na zistenie výsledku násobenia dvoch rôznych údajov o dávke. Preto sme vytvorili dve premenné tenzora v1 a v2 a pomocou funkcie Input() sme ich uložili vo v1 a v2 ako vstup. Potom sme vyskúšali funkciu batch_dot() na oboch tenzorových premenných, v1 a v2, a výsledná hodnota by sa uložila do inej premennej „v3“. Pri tlači premennej v3 sme na oplátku našli výsledný tvar (2,2).

Variabilná funkcia

Ak ste niekedy pracovali na inom jazyku, možno ste inicializovali veľa premenných s kľúčovým slovom „var“ alebo bez neho. Mnohokrát ste mohli inicializovať premenné s ich typmi údajov, ako je celé číslo, reťazec alebo znak. V rámci knižnice Python Keras môžeme vytvoriť akúkoľvek premennú pomocou funkcie variable() na niektorých tenzorových dátach vo forme vzoriek.

Na nasledujúcom obrázku sme vytvorili premennú „d“ pridaním vzorových údajov zoznamu dvoch do funkcie variable() s objektom Keras „k“. Po pridaní tejto premennej sme na túto premennú „d“ zavolali funkciu transpose(), aby sme zistili transpozíciu vzorových údajov v nej cez Keras objekt „k“. Výsledná transpozícia sa uloží do premennej „val“. Tlačový príkaz jazyka Python sa tu použil na vytlačenie hodnoty výslednej premennej „val“. Tlačový príkaz zobrazuje výber funkcie, ktorú sme aplikovali na premennú „d“ a celkový počet prvkov v každom zozname.

Potom sme vyskúšali funkciu „eval“ na premennej „val“, aby sme získali transpozíciu vzoriek pridaných do premennej „d“ a funkcia print ju zobrazovala. Vo výstupe môžete vidieť transpozíciu dvoch zoznamov.

Predchádzajúca ilustrácia kódu bola dosiahnutá použitím jednoduchých funkcií Pythonu bez importu akejkoľvek konkrétnej knižnice Pythonu. „Transpozíciu“ dvoch množín údajov je možné nájsť pomocou polí NumPy. Na to musíme na začiatku importovať knižnicu NumPy ako „n“. Základný formát je rovnaký, ale musíme inicializovať množinu údajov tvaru pomocou kľúčového slova „pole“ namiesto použitia kľúčového slova „variable“. Vzorové pole NumPy by sa malo zachovať v premennej „d“. Rovnaký objekt NumPy „n“ sa používa na volanie funkcie transpose() v premennej „d“ a uloženie jej výsledku do premennej „val“.

Tlačový príkaz v ňom volá premennú „val“, aby zobrazil svoj transponovaný tenzor. Môžete vidieť, že na zobrazenie výslednej transponovanej hodnoty premennej „val“ tu nepotrebujeme funkciu „eval“. Teraz sme použili funkciu premennej s argumentom „d“ a výsledok sme uložili do premennej „z“. Po vyskúšaní príkazu print pridaním hodnoty argumentu „z“ do neho zobrazil výstup v rovnakom predchádzajúcom formáte, aký sme vyskúšali vo vyššie uvedenom príklade premennej.

Funkcia Is_sparse().

Slovo „riedky“ v tenzore sa používa pre riedky tenzor, ktorý obsahuje väčšinou položky s nulami. V tomto príklade použijeme funkciu is_sparse() backendového modulu na kontrolu, či má tenzor väčšinu núl alebo nie.

Najprv sme zavolali funkciu placeholder(), aby sme podržali tvar tenzora (3,3) spolu s argumentom Sparse nastaveným na hodnotu true. Táto zástupná hodnota by sa zachovala pri meniteľnom „x“ a zobrazila by sa. Výstup zobrazuje informácie týkajúce sa zástupnej premennej „x“.

Aplikuje sa naň napríklad jeho dátový typ, tvar a funkcia. Potom sme ešte raz skúsili príkaz print zavolať v ňom funkciu is_Sparse(). Táto funkcia používa premennú „x“ ako argument na zobrazenie toho, či je tenzor „x“ riedky alebo nie. Na výstupe sa zobrazí „pravda“.

Funkcia To_dense().

Hovorí sa, že hustý tenzor je ten, ktorý použil chronologický blok pamäte na uloženie informácií susedným spôsobom a tiež reprezentoval hodnoty informácií. Funkcia „to_dense()“ backendového modulu nám umožňuje previesť riedky tenzor na hustý tenzor. Preto používame rovnakú zástupnú funkciu na pridanie tenzora do premennej „x“ a tento tenzor bol nastavený na „riedky“.

Funkcia „to_dense()“ sa aplikuje na hustú tenzorovú premennú „x“, t. j. na jej konverziu na hustý tenzor a jej uloženie do inej premennej „res“. Teraz je „res“ samotným hustým tenzorom. Tlačový príkaz bol zrušený, aby sa vytlačila premenná „res“. Použitie tlačových príkazov pre premennú „res“ zobrazilo informácie týkajúce sa konvertovanej premennej „res“, t. j. úspešne prevedenej riedkej na hustú a oveľa viac.

Potom sa zavolá ďalšia funkcia tlače pomocou funkcie is_sparse() v nej, aby sa skontrolovalo, či je premenná „res“ riedka alebo nie. Výstup ukazuje, že premenná „res“ nie je riedka, t. j. keďže sme ju už skonvertovali na „hustý“ tenzor.

Funkcia Random_uniform_variable().

Funkcia random_uniform_variable() v backend module Keras je špeciálne navrhnutá na inicializáciu tenzora prostredníctvom rovnomernej distribúcie. Chce to celkovo tri argumenty. Úplne prvý argument „tvar“ sa používa na definovanie riadkov a stĺpcov tvaru v rámci n-tice. Ak ste študovali matematiku, možno ste sa naučili pojem priemer a štandardná odchýlka.

V metóde random_uniform_variable() sú ďalšie dva argumenty stredná a typická odchýlka od rovnomerného rozdelenia. V rámci tejto ilustrácie sme inicializovali dva tenzory „x“ a „y“ pomocou štandardného rovnomerného rozdelenia prostredníctvom funkcie random_uniform_variable(). Oba tenzory obsahujú rôzne tvarové formáty, t.j. riadky a stĺpce s rovnakým priemerom a štandardnou odchýlkou, t.j. nízke = 0 a vysoké = 1.

Potom odhodíme funkciu „bodka“, pričom na násobenie použijeme tenzory „x“ a „y“. Výsledok tohto násobenia by sa uložil do premennej „z“. Nakoniec je int_shape() nutnosťou použiť na zobrazenie tvaru výsledného tenzora „z“. Na výstupe je zobrazený tenzor (2,2).

Utils

Ak chcete použiť niektoré z veľmi užitočných funkcií z konceptu hlbokého učenia Pythonu, musíte vo svojich skriptoch použiť modul utils knižnice Keras. Napríklad, ak chcete zobraziť svoje údaje vo formáte HDF5Matrix, musíte importovať triedu HDF5Matrix a použiť jej funkciu HDF5Matrix v skripte.

Funkcia To_categorical().

Táto funkcia vám umožňuje upraviť vektor triedy na maticu, t. j. binárnu maticu triedy. Povedzme, že sme importovali funkciu to_categorical() z modulu utils a inicializovali sme vektor „A“. Vektor „A“ bol odovzdaný funkcii to_categorical(). Binárna matica pre tento vektor triedy „A“ bola zobrazená.

Funkcia print_summary().

Na vytlačenie súhrnu modelu, ktorý sme v našom prostredí odhodili, bola použitá funkcia print_summary.

Funkcia plot_model().

Funkcia plot_model() označuje model vo formáte bodky a umožňuje vám ho uložiť do dokumentu.

Záver

Aby sme to zhrnuli, môžeme povedať, že jazyk Python je nevyhnutným jazykom pre dnešnú dobu, pretože všetko sa zrýchľuje a technológia sa vyvíja tak šialene rýchlo. V rámci tohto vzdelávacieho usmernenia sme sledovali používanie knižnice Keras Pythonu v oblasti hlbokého učenia a umelých neurónových sietí. Za týmto účelom sme tiež prešli dôležitosť a využitie jej backendovej knižnice „TensorFlow“, aby sme získali jasné pochopenie. Okrem toho sme diskutovali a vysvetlili každú konfiguráciu potrebnú na nastavenie prostredia Keras a Anaconda v Pythone v rámci operačného systému Linux Ubuntu 20.04. Potom sme dôkladne prediskutovali modely, vrstvy a moduly Keras jeden po druhom spolu s ich najpoužívanejšími funkciami. Pre demonštráciu modelu Function API si pozrite oficiálnu dokumentáciu.