Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 21 - Neuronové sítě – Model a trénink

V minulé lekci, Neuronové sítě – Dense vrstva a optimalizátory, jsme probrali dense vrstvu a optimizéry, témata potřebná pro vytvoření naší první neuronové sítě.

V této lekci tutoriálu Neuronové sítě - Pokročilé si nadefinujeme třídu Model. Třída bude reprezentovat samotný model a bude obsahovat vrstvy v atributu layers. Kromě toho bude mít i standardní metody, které jsme už viděli dříve v logistické regresi. Zaměříme se také více na kódování a zkoumání výstupů.

Model

Predikce se provádí vrstvu po vrstvě. Její kód může vypadat takto:

inputs = mnist_dataset
for layer in self.layers:
    inputs = layer(inputs)

Pro backpropagation bude algoritmus obdobný. Výstupy vrstev, které jsou zároveň vstupem do další vrstvy, si zapamatujeme v proměnné outputs. Využijeme je pak ve fázi backpropagation. Nejprve spočítáme gradient loss funkce a předáme jej metodě gradient() poslední vrstvy. Gradient se bude šířit vrstvami z poslední do první, dokud nebudeme mít gradienty vah. Protože náš kód gradienty vah akumuluje (volání np.add ve všech třídách v minulé lekci), nejprve je musíme vynulovat. Kód vypadá takto:


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Před koupí tohoto článku je třeba koupit předchozí díl

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

V tomto tutoriálu Pythonu pro pokročilé si získané informace zapracujeme do třídy Model a podíváme se na možné výstupy.
Článek pro vás napsal Patrik Valkovič
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity