CANON_leto2024 CANON_leto2024 CANON_leto2024

Strojové učenie v Pythone 1 – prostredie Google Colab

2

Začíname nový seriál, v ktorom na praktických príkladoch ukážeme ako programovať úlohy strojového učenia v programovacom jazyku Python. Uvidíte, že je to oveľa jednoduchšie ako by sa na prvý pohľad mohlo zdať. Postup tvorby kódu a sprievodných poznámok v prostredí Google Colab je v krátkom videu

Pre tento seriál budeme využívať online prostredie Google Colaboratory (Colab), ktoré je dostupné na adrese https://colab.research.google.com. Toto vývojové prostredie vytvárať a spúšťať kód v programovacom jazyku Python priamo v prehliadači bez toho aby ste museli niečo inštalovať na svoj počítač. Pre pokročilejších čitateľov Colaboratory je cloudová implementácia nástroja Jupyter Notebook, ktorá beží na serveroch Google. Jupyter Notebook si môžete nainštalovať aj lokálne na svoj počítač, napríklad ako súčasť platformy Anaconda https://www.anaconda.com/. Zápisníky Colab sú zápisníky projektu Jupyter hostované službou Colab. Viac o projekte Jupyter sa dozviete na jupyter.org.

Základná verzia Colab je zdarma, ak potrebujete vyšší výpočtový výkon môžete si predplatiť Colab Pro, alebo Colab Pro+, prípadne využívať model Pay As You Go

Na rozdiel od klasických vývojových prostredí v prostredí Colab vytvárate nielen kód, samozrejme čo najlepšie komentovaný, ale pomedzi bloky kódu môžete písať poznámky vrátane vzorcov. Kód sa tvorí v interaktívnom prostredí Notebook Colab, ktoré skutočne pripomína zápisník. Keď neskôr otvoríte projekt, budete tam mať všetko vysvetlené a okomentované, samozrejme len v prípade, ak budete jednotlivé bloky kódu svedomito popisovať.

V prvom príklade vypočítame a zobrazíme faktoriál zadaného čísla. Nový zápisník Colab môžete vytvoriť pomocou menu Súbor

cislo = 15
faktorial = 1
 
for i in range(1,cislo + 1):
    faktorial = faktorial*i
print("Faktoriál",cislo,"=",faktorial)

Príklad upravíme tak, aby ste mohli zadať hodnotu ktorej faktoriál potrebujete vypočítať. Za parameter je potrebné pridať  #@param, prípadne aj so špecifikáciou typu premennej #@param {type: 'integer'}

cislo = 15  #@param {type: 'integer'}
faktorial = 1.0
 
for i in range(1,cislo + 1):
    faktorial = faktorial*i
print("Faktoriál",cislo,"=",faktorial)

Námetom ďalšieho jednoduchého príkladu bude vizualizácia údajov formou grafu. Na vykreslenie grafu využijeme knižnicu matplotlib.

import numpy as np
from matplotlib import pyplot as plt
 
os_x = np.array([0,4])
os_y = np.array([0,100])
plt.title("Grafická vizualizácia")
plt.plot(os_x, os_y)
plt.show()

V ďalšom príklade budeme hodnoty generovať náhodne funkciou z balíka NumPy

import numpy as np
from matplotlib import pyplot as plt
 
os_y = 200 + np.random.randn(100)
os_x = [os_x for os_x in range(len(os_y))]
 
plt.title("Grafická vizualizácia")
plt.plot(os_x, os_y, '-')
plt.fill_between(os_x, os_y, 195, where=(os_y > 195), facecolor='g', alpha=0.6)
plt.show()

Premenné, ktoré definujete v jednej bunke kódu, je možné použiť neskôr v iných bunkách:

a = 49

premennú použijem v ďalšom bloku kódu

print("Hodnota premennej a =",a)

Globálne premenné môžete zresetovať príkazom

%reset -f

Predpona %. Špecifikuje, že sa jedná o funkciu iPythonu typu Magic a táto funkcia sa vzťahuje sa na jeden riadok. Ukážeme si to na funkcii %timeit, kde porovnáme čas výpočtu pre tretiu mocninu a tretiu odmocninu

%timeit [n ** 3 for n in range(100)]
%timeit [n ** (1/3.0) for n in range(100)]
---
23.8 µs ± 394 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
9.2 µs ± 1.58 µs per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Magic funkcia pre celú bunku má prefix %%.

%%time
a = 2
for n in range(10):
  b = a ** n
  print(b)
 
1
2
4
8
16
32
64
128
256
512
CPU times: user 3.82 ms, sys: 0 ns, total: 3.82 ms
Wall time: 3.52 ms

V pokračovaní sa budeme venovať knižnici funkcií Pandar na prácu s údajmi.

Zobrazit Galériu

Luboslav Lacko

Všetky autorove články
Google Colab strojove ucenie Python AI ML

2 komentáre

Super článok reakcia na: Strojové učenie v Pythone 1 – prostredie Google Colab

20.7.2023 14:07
Tešíme sa na ďalší diel
Reagovať

Super článok reakcia na: Strojové učenie v Pythone 1 – prostredie Google Colab

20.7.2023 14:07
Tešíme sa na ďalší diel
Reagovať

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať