96 JupyterLab / Jupyter Notebook kasutamine Pythoni koodi jooksutamiseks

JupyterLab / Jupyter Notebook

Jupyter logo

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.

JupyterLab uus fail

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.

JupyterLab koodiplokk ja tekstiplokk

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”.

Jupyter Notebook uus fail

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.

Jupyter Notebook koodiplokk ja tekstiplokk

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

Proovi luua näiteks Google Colab keskkonda uus Jupyteri fail, kus kasutad erinevaid koodi- ja tekstiplokke. Saad alustada siit: https://colab.research.google.com/ . Samalt lehelt saad proovida kopeerida näiteks graafiku joonistamise koodijupi.

Harjutus

Loo Google Drive kausta teksti- või pildifail, mida proovida Jupyteri failis lugeda. Vaata näiteid siit: https://colab.research.google.com/notebooks/io.ipynb

Viiteid

Litsents

Icon for the Creative Commons Attribution 4.0 International License

Tarkvaraarendus. 2. trükk on loodud Eno Tõnisson, Tauno Palts, Kaarel Tõnisson, Heidi Meier, Merilin Säde, Ago Luberg, Birgy Lorenz, Einar Kivisalu, Meelis Antoi, ja Säde Mai Krusberg poolt Creative Commons Attribution 4.0 International License litsentsi alusel, kui pole teisiti märgitud.

Jaga seda raamatut