2. diel - Neurónové siete v Pythone - Prostredie Jupyter
V minulej lekcii, Úvod a motivácia do programovania neurónových sietí v Pythone , sme si urobili úvod do neurónových sietí a deep learningu. Vitajte u ďalšej lekcie, kde sa zoznámime s prostredím, v ktorom budeme väčšinu času pracovať. Týmto prostredím je Jupyter (IPython) notebook. Prostredie najskôr nainštalujeme, ukážeme si ako sa s ním pracuje a nakoniec spustíme pár riadkov Pythone s grafikou.
Jupyter notebook
Možno sa pýtate, prečo nebudeme neurónové siete programovať tak, ako sme písali aplikácie doteraz. Odpoveďou je, že teraz sa jedná najmä o simulácie, do ktorých je často potrebné pridávať dodatočné informácie alebo grafy. A simulácií budeme robiť viac. Jupyter notebook nám umožňuje vytvoriť zošit a doň vkladať nezávislej bunky kódu a medzi ne formátovaný text alebo vzorce. Výhody, ktoré nám prostredie Jupyter notebook prináša, sú nasledujúce:
- Všetky premenné sú uložené v relácii, kým sa proces prostredie nevypne (v termináli)
- Prehľadný výpis pod bunku s kódom, Jupyter podporuje grafy
(
matplotlib
) a tabuľky (Pandas
) - Formátovanie pomocou Markdown buniek ( LaTeX)
- Bunky kódu na sebe nie sú závislé
Inštalácia
Prostredie je naozaj jednoduché nainštalovať, stačí použiť nástroj
pip
, ktorý je súčasťou každej Python distribúcie:
pip install jupyter
Ak vám príkaz nezafunguje, upravte si ho pre vašu distribúciu Pythone tak, ako sme si ukazovali minule.
Sprievodca prostredím
Po úspešnej inštalácii pomocou nástroja pip
prostredie
spustíme nasledovne:
jupyter notebook
Kým neukončíme tento proces, prostredie stále pobeží. Chvíľku na to
by sa nám malo otvoriť nové okno prehliadača, ktoré vyzerá nasledovne
(záleží, kde ste príkaz spustili - pravdepodobne ste ho tentoraz spustili v
C:/Users/vase_jmeno/
).
Vytvorenie zošita
Teraz sa dostaňte do zložky, alebo ju vytvorte pomocou možnosti
New -> Folder
v ponuke vpravo hore, kde chcete mať zošit
uložený. Bude sa jednať o súbor .ipynb
(IPython / Jupyter)
notebook. Python notebook vytvoríte pomocou New -> Python 3
,
ten sa automaticky otvorí v ďalšej záložke a bude vyzerať nasledovne:
Ak sa vrátime do predchádzajúcej záložky v prehliadači, môžeme vidieť v priečinku nový notebook so zelenou ikonkou, ktorá značí bežiaci Python kernel. Súbor / notebook si môžeme pomenovať po kliknutí na text "Untitled" vedľa Jupyter loga, tým sa zmení ako názov notebooku tak i súboru.
Módy
Prostredie Jupyter notebook má 2 základné módy:
Command
- Mód slúžia v prostredí pre operácie, ktoré sú pre prostredie a prácu s bunkami špecifické, ako je napríklad vytvorenie bunky, zmazanie, posunutie bunky a zmena módu bunky.Edit
- Mód slúži ako klasické (múdrejší) vývojové prostredie pre Python, pre zobrazenie ponuky pre dokončenie kódu sa používa klávesa Tab.
Bunky, s ktorými prostredie pracuje, majú tiež 2 módy (čo nás zaujímajú):
Code
- Ak je bunka vCode
módu a je spustená, spustí sa Python kód, ktorý bunka obsahuje.Markdown
- Naopak vMarkdown
móde sa obsah bunky naformátuje ako text, vzorček a ďalšie.
Keď vytvoríte nový notebook, ste automaticky v Edit
móde
prvej bunky. Do Command
módu sa dostanete klávesom Esc
a do Edit
módu pre vybranú bunku klávesou Enter.
Medzi bunkami sa prepína Šípkami v Command
módu a v
Edit
móde po stlačení šípok (Hore /
Dole), ak ste na vrchnom alebo spodnom riadku.
- Nová bunka sa vytvorí v
Command
móde klávesom A (nad aktuálnou bunkou ako "Above") a B (pod aktuálnou bunkou ako "Below"). - Vybraná bunka (prúžok, v
Command
móde je modrý) sa zmaže pomocou stlačenia sekvencie D, D. - Vybraná bunka sa spustí klávesovou skratkou Shift + Enter (spustí a
posunie o bunku nižšie, ak neexistuje, vytvorí sa). Môžeme tiež pou
skratku Ctrl + Enter (spustí sa a bunka zostáva stále vybraná) alebo bunku
spustiť kliknutím na tlačidlo
Run
(v hornom paneli) alebo kliknutím na ikonuŠipka s čárou - Spustit stop
naľavo od obsahu bunky. - Stlačením tlačidla H v
Command
móde alebo kliknutím na tlačidloHelp -> Keyboard Shortcuts
v hornom paneli sa zobrazí zoznam klávesových skratiek. - Ak sa s prostredím chcete zoznámiť viac než je aktuálne potrebné,
môžete spustiť sprievodcu prostredia v hornom paneli pomocou možnosti
Help -> User Interface Tour
.
Praktická časť
S týmito znalosťami sme schopní vytvoriť si našu Hello World bunku a
vykresliť prvý grafiky v novom prostredí pomocou knižnice
matplotlib
. Do vopred vytvorené bunky vložíme nasledujúci kód
a bunku spustíme:
print("Ahoj světe!")
výsledok:
Ahoj světe
Ako ste si iste všimli, tak sa hláška zobrazila hneď pod bunkou. Takto to budeme reprezentovať tu v článkoch.
Graf
Skúsme niečo pokročilejšieho. Importujeme si teda knižnicu
matplotlib
:
import matplotlib.pyplot as plt
Vytvoríme si jednoduchý graf pomocou funkcie plt.plot()
.
plt.plot([1,2,3,8])
výsledok:
Ako spustiť stiahnuté Jupyter notebook
Celý tento článok napísaný v Jupyter notebooku nájdete na stiahnutie nižšie. Skúste si ho otvoriť a to nasledujúcim spôsobom:
- Ak máte spustený Jupyter proces v zložke
C:/Users/vase_jmeno/
a stiahnutý notebook je v zložkeC:/Users/vase_jmeno/Downloads/
, stačí sa na stránke so súbormi / priečinkami preklikať do zložky s.ipynb
súborom s spustiť ho kliknutím na neho (na jeho názov). - Ak nemáte spustený Jupyter proces, spustite ho v zložke s
.ipynb
súborom alebo v nejakej rodičovskej zložke. Napríklad keď je súbor uložený vC:/Users/Tonda/Downloads/moje_super_slozka/novy_notebook.ipynb
, tak môžete spustiť Jupyter proces v zložkeC:/Users/Tonda/Downloads/moje_super_slozka/
alebo v zložkeC:/Users/Tonda/Downloads/
.
Ak niekto zabudol, ako sa spúšťa Jupyter proces, je to
príkazom jupyter notebook
(ak nemáte Conda - Python / Python
pridaný vo Windows PATH
, spustite príkaz v
Anaconda Prompt
). Medzi zložkami sa dá pohybovať príkazom
cd
.
V budúcej lekcii, Predpoveď ceny zlata pomocou lineárnej regresie v Pythone , na nás čaká predstavenie lineárna regresia.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 155x (102.31 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Python