96 JupyterLab / Jupyter Notebook kasutamine Pythoni koodi jooksutamiseks
JupyterLab / Jupyter Notebook
Jupyter Notebook on töövahend, millega saab arendada ja esitleda erinevaid (andme)teaduse projekte. Sisuliselt on selles võimalik kirjutada Pythoni koodi ja esitleda tavalist teksti. Näiteks saab tuua mõne koodinäite ja näitele juurde lisada selgitavat teksti, pilte jms. Pythoni koodi saab ka jooksutada ning näha tulemust.
Jupyter Notebook’i saab kasutada läbi veebibrauseri. See võib jooksutada koodi kas kasutaja enda arvutis või mõnes serveri pilves. See on just üks väga hea omadus, et ressursinõudlikke programme saab jooksutada pilves. Näiteks mõned masinõppe algoritmid võivad töötada mitmeid tunde ning vajada väga võimsaid arvuteid.
JupyterLab on arenduskeskkond veebibrauseris Notebooki faili loomiseks. Jupyter Notebook originaalrakendus võimaldab faile redigeerida ja käivitada, JupyterLab annab selleks rohkem võimalusi. Lõpuks loodav ipynb-fail on mõlema lahendusega sama (ja saab käivitada ükskõik millisel Jupyter platvormil).
Vaatame järgnevalt nii JupyterLab kui ka Jupyter Notebook installimist ja kasutamist. Mõlemad on saadaval siin: https://jupyter.org/
JupyterLab
JupyterLab on täiustatud versioon Jupyter Notebook rakendusest. veebibrauseris avanev tekstiredaktor on mugavam ja annab rohkem võimalusi. See meenutab rohkem tavaliset IDE (Integrated Development Environment) kasutamist. Lõpuks loodav ipynb-fail on täpselt sama nagu Notebookiga loodav.
JupyterLab’i installimine
Installimiseks pip
tööriistaga tuleb kirjutada:
pip3 install jupyterlab
Eelnev eeldab, et pip
on installitud ja asub PATH
muutujas (see tähendab, et pip
on kättesaadav suvalises asukohas käsureal). Soovituslik on lisada Python keskkonnamuutujasse PATH
, juhend selleks on siin: https://docs.python.org/3/using/windows.html#setting-envvars
Näiteks kui Python on installitud kausta C:\Python\Python310
, siis käsurealt saab installida järgmise käsuga:
c:\Python\Python310\python.exe -m pip install jupyterlab
Käivitamine Windowsi masina Bashis (Git Bash, MINGW64):
/c/Python/Python310/python.exe -m pip install jupyterlab
JupyterLab serveri käivitamine
Kui JupyterLab on installitud, saab serveri käima panna järgmisels:
jupyter-lab
jupyter-lab
installitakse Pythoni kaustas Scripts
kausta. Näiteks käivitamine Windowsi käsureal (kui Python pole keskkonnamuutujas PATH
):
c:\Python\Python310\Scripts\jupyter-lab.exe
Või käivitamine Windowsis Bashsis konkreetsest asukohast:
/c/Python/Python310/Scripts/jupyter-lab
See käivitab JupyterLab serveri aktiivses kaustas ning peaks avanema brauser. Brauseris näidatakse aktiivses kaustas olevadi kaustu ja faile. Seal on võimalik navigeerida kaustade vahel. Sobivasse kohta saab luua uue faili. Selleks saab paremal osas valida Notebook sektsiooni alt Python 3.
Luuakse ipynb-laiendiga fail. Notebook fail koosneb koodi ja teksti plokkidest. Koodiplokk toetab Pythoni jooksutamist (teatud variantide puhul ka muid skripte), tekstiplokk toetab Markdown vormindamist. Markdowni süntaksi kohta võib täpsemalt lugeda seda. Tegemist on suhteliselt lihtsa ja populaarse tekstivormindamise süntaksiga, mis toetab kõiki peamisi vorminguid: rasvane kiri, kaldkiri, nimistud (bulleted list), lingid, pildid jne.
Koodiplokke saab ükshaava käivitada. Käivitatud ploki tulemus (muutujad jms) jäävad programmi mällu. Seega kui esimeses plokis defineerida muutuja, saab seda mõnes järgmises plokis kasutada.
Sisu kirjutades saame plussmärgiga (rohelise ringiga tähistatud eelneva pildi peal) lisada uusi plokke. Ja ploki tüüpi saame muuta valikust (sinise ovaaliga tähistatud). Siin näites lõime kõigepealt ühe matemaatilise tehte (mida Python oskab arvutada): 1 + 2
. Kui see ploki osa käima panna (ploki ees on käivitamise nupp), näidatakse tulemust: 3
. Seejärel lisasime ühe Markdown ploki, kuhu kirjutasime väikese selgituse. Seejärel lisasime ühe koodiploki, kus defineerima ära muutuja result
(selle väärtuseks saab 5
). Sellele järgneb samuti üks selgitav Markdown plokk. Viimases koodiplokis kasutame eelnevalt defineeritud result
muutujat, et arvutada uus tulemus new_result
.
Miks see on hea, et saame muutujaid selliselt talletada ja hiljem uuesti kasutada? Kui näiteks masinõppe ülesandes võtab mõne mudeli treenimine aega 2 tundi, siis kui see on ühe korra välja arvutatud, saame seda järgmistes plokkides kasutada. Proovime sellega kõigepealt ühte asja teha, seejärel järgmist jne. Tavapäraselt koodi puhul peaksime peale koodi muutmist kogu programmi uuesti käima panema ja seeläbi treenitakse mudelit uuesti 2 tundi.
Jupyter Notebook
See on vanem versioon Jupyter tarkvarast. Kui JupyterLab toimib, siis võib selles osas kirjutatu vahele jätta (sisuliselt teeme sama asja läbi).
Jupyter Notebooki installimine
Kui mingil põhjusel on soov kasutada originaalset ja lihtsamat redigeerimiskeskkonda, võib installida jupyter
paki.
Installimiseks pip
tööriistaga tuleb kirjutada:
pip3 install jupyter
Eelnev eeldab, et pip
on installitud ja asub PATH
muutujas (see tähendab, et pip
on kättesaadav suvalises asukohas käsureal). Soovituslik on lisada Python keskkonnamuutujasse PATH
, juhend selleks on siin: https://docs.python.org/3/using/windows.html#setting-envvars
Näiteks kui Python on installitud kausta C:\Python\Python310
, siis käsurealt saab installida järgmise käsuga:
c:\Python\Python310\python.exe -m pip install jupyter
Käivitamine Windowsi masina Bashis (Git Bash, MINGW64):
/c/Python/Python310/python.exe -m pip install jupyter
Jupyter Notebook serveri käivitamine
Kui notebook on installitud, saab serveri käima panna järgmisels:
jupyter notebook
jupyter
installitakse Pythoni kaustas Scripts
kausta. Näiteks käivitamine Windowsi käsureal (kui Python pole keskkonnamuutujas PATH
):
c:\Python\Python310\Scripts\jupyter.exe notebook
Või käivitamine Windowsis Bashsis konkreetsest asukohast:
/c/Python/Python310/Scripts/jupyter notebook
See käivitab Jupyter serveri aktiivses kaustas ning peaks avanema brauser. Brauseris näidatakse aktiivses kaustas olevadi kaustu ja faile. Seal on võimalik navigeerida kaustade vahel. Sobivasse kohta saab luua uue faili. Selleks saab paremal klikkida “New” ja sealt valida “Notebook Python 3”.
Luuakse ipynb-laiendiga fail. Notebook fail koosneb koodi ja teksti plokkidest. Koodiplokk toetab Pythoni jooksutamist (teatud variantide puhul ka muid skripte), tekstiplokk toetab Markdown vormindamist. Markdowni süntaksi kohta võib täpsemalt lugeda seda. Tegemist on suhteliselt lihtsa ja populaarse tekstivormindamise süntaksiga, mis toetab kõiki peamisi vorminguid: rasvane kiri, kaldkiri, nimistud (bulleted list), lingid, pildid jne.
Koodiplokke saab ükshaava käivitada. Käivitatud ploki tulemus (muutujad jms) jäävad programmi mällu. Seega kui esimeses plokis defineerida muutuja, saab seda mõnes järgmises plokis kasutada.
Sisu kirjutades saame plussmärgiga (rohelise ringiga tähistatud eelneva pildi peal) lisada uusi plokke. Ja ploki tüüpi saame muuta valikust (sinise ovaaliga tähistatud). Siin näites lõime kõigepealt ühe matemaatilise tehte (mida Python oskab arvutada): 1 + 2
. Kui see ploki osa käima panna (ploki ees on käivitamise nupp), näidatakse tulemust: 3
. Seejärel lisasime ühe Markdown ploki, kuhu kirjutasime väikese selgituse. Seejärel lisasime ühe koodiploki, kus defineerima ära muutuja result
(selle väärtuseks saab 5
). Sellele järgneb samuti üks selgitav Markdown plokk. Viimases koodiplokis kasutame eelnevalt defineeritud result
muutujat, et arvutada uus tulemus new_result
.
Miks see on hea, et saame muutujaid selliselt talletada ja hiljem uuesti kasutada? Kui näiteks masinõppe ülesandes võtab mõne mudeli treenimine aega 2 tundi, siis kui see on ühe korra välja arvutatud, saame seda järgmistes plokkides kasutada. Proovime sellega kõigepealt ühte asja teha, seejärel järgmist jne. Tavapäraselt koodi puhul peaksime peale koodi muutmist kogu programmi uuesti käima panema ja seeläbi treenitakse mudelit uuesti 2 tundi.
Jupyter Notebook arenduskeskkonna rakenduses
Arenduskeskkonna rakendus (IDE – Integrated Development Environment) lihtsustab koodi kirjutamist. PyCharm ja Visual Studio Code mõlemad toetavad ipynb-failide avamist, redigeerimist ning käivitamist.
Jupyter Notebook pilves
Väga tavaline on jooksutada mahukamaid arvutusi pilves, kus näiteks on rohkem mälu, protsessori jõudlust või ka graafikakaardi jõudlust. Selle jaoks on hea kasutada samamoodi Jupyter Notebooki. Kohti, kus saab selliselt koodi jooksutada, on mitmeid. Teatud mahus ja piiratud ressurssidega on seda võimalik teha täitsa tasuta.
Üks selline võimalik platvorm on Google Colab. Teine selline on Kaggle.
Harjutus
Harjutus
Viiteid
- https://www.kaggle.com/code/jhoward/jupyter-notebook-101/notebook – Jupyter Notebook kasutamise näited.
- https://www.blog.pythonlibrary.org/2021/09/19/python-101-an-intro-to-jupyter-notebook/ – Veel Jupyter Notebook kasutamise näiteid.