Jupyter Notebook na Vegi
Jupyter Notebook (predhodno znan kot IPython Notebooks) je spletno interaktivno računsko okolje za ustvarjanje dokumentov v beležnici.
Ta vodič opisuje dva načina dostopa do instance Jupyter Notebook na Vegi: preko SSH tunela ali s pomočjo VSCode.
Pregled
- Rezervirajte vozlišče za interaktivno sejo
- Povežite se na dodeljeno vozlišče
- Zaženite Jupyter Notebook
- Ustvarite tunel iz vozlišča do svojega lokalnega računalnika in ga odprite v brskalniku
Korak 1: Rezervacija vozlišča
Spodnji ukaz rezervira eno GPU vozlišče z 1 Grafično kartico in 40 GB pomnilnika za 4 ure. Po potrebi prilagodite parametre.
salloc -n 1 --gres=gpu:1 --mem=40G --partition=gpu -t 4:00:00
Izhod bo pokazal, katero GPU vozlišče vam je bilo dodeljeno — v tem primeru gn03.
[user@vglogin0005 ~]$ salloc -n 1 --gres=gpu:1 --mem=40G --partition=gpu -t 4:00:00
salloc: Pending job allocation 24529170
salloc: job 24529170 queued and waiting for resources
salloc: job 24529170 has been allocated resources
salloc: Granted job allocation 24529170
salloc: Waiting for resource configuration
salloc: Nodes gn03 are ready for job
[user@gn03 ~]$
Korak 2: Povezava z dodeljenim vozliščem
SSH tunel
ssh gnXX
Zamenjajte gnXX z imenom računskega vozlišča, ki je bilo dodeljeno vašemu opravilu, na primer:
ssh gn03
VSCode
Namesto tega uporabite naslednji ukaz, ki hkrati nastavi tudi posredovanje vrat (tunel):
ssh -L 7000:gn03:7000 gn03
Zamenjajte gn03 z vašim dodeljenim vozliščem in 7000 z izbranimi vrati.
Opomba: Prva številka vrat je tista, na kateri bo poslušal vaš lokalni računalnik (in prijavno vozlišče); druga mora ustrezati vratom, ki jih boste uporabili za zagon Jupyterja na dodeljenem vozlišču.
Spodnji izpis potrjuje uspešno povezavo z gn03:
The authenticity of host 'gn03 (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:Tso0v66J1JxJ/sgsbP8zAyVWhbfO9BzFsapna1tHFrc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gn03' (ECDSA) to the list of known hosts.
[user@gn03 ~]$
Korak 3: Zagon Jupyter Notebook
Na voljo morate imeti Python in paket jupyter-notebook. Izberite eno izmed spodnjih možnosti.
Možnost A — Naložite modul Anaconda3 (Python in Jupyter sta že nameščena):
module load Anaconda3
Opomba: Morebitne dodatne Python pakete, ki jih potrebujete, morate še vedno namestiti ločeno.
Možnost B — Uporabite svoje virtualno okolje (priporočeno, če že imate nameščene pakete):
source venv/bin/activate
Vaši nameščeni paketi bodo samodejno na voljo Jupyter jedru.
Nato zaženite Jupyter Notebook; zamenjajte 7000 in gn03 z izbranimi vrati in vozliščem:
jupyter-notebook --port=7000 --ip=gn03 --no-browser
Videti bi morali izpis, podoben naslednjemu:
_ _ _ _
| | | |_ __ __| |__ _| |_ ___
| |_| | '_ \/ _` / _` | _/ -_)
\___/| .__/\__,_\__,_|\__\___|
|_|
Read the migration plan to Notebook 7 to learn about the new features and the actions to take if you are using extensions.
https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html
Please note that updating to Notebook 7 might break some of your extensions.
[W 15:24:32.146 NotebookApp] Loading JupyterLab as a classic notebook (v6) extension.
[W 2026-06-16 15:24:32.150 LabApp] 'port' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2026-06-16 15:24:32.150 LabApp] 'ip' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[I 2026-06-16 15:24:32.152 LabApp] JupyterLab extension loaded from /cvmfs/sling.si/modules/el7/software/Anaconda3/2023.07-2/lib/python3.11/site-packages/jupyterlab
[I 2026-06-16 15:24:32.152 LabApp] JupyterLab application directory is /cvmfs/sling.si/modules/el7/software/Anaconda3/2023.07-2/share/jupyter/lab
[I 15:24:33.951 NotebookApp] Serving notebooks from local directory: /cephhome/vilecv
[I 15:24:33.951 NotebookApp] Jupyter Notebook 6.5.4 is running at:
[I 15:24:33.951 NotebookApp] http://localhost:7000/?token=8716b889864837a6f50d066560061b321a1f902e74f7d21c
[I 15:24:33.951 NotebookApp] or http://127.0.0.1:7000/?token=8716b889864837a6f50d066560061b321a1f902e74f7d21c
[I 15:24:33.951 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 15:24:33.972 NotebookApp]
To access the notebook, open this file in a browser:
file:///cephhome/vilecv/.local/share/jupyter/runtime/nbserver-3942355-open.html
Or copy and paste one of these URLs:
http://localhost:7000/?token=8716b889864837a6f50d066560061b321a1f902e74f7d21c
or http://127.0.0.1:7000/?token=8716b889864837a6f50d066560061b321a1f902e74f7d21c
Opomba: Na dnu poiščite URL in žeton (token) — potrebovali ju boste v naslednjem koraku.
Korak 4: Ustvarjanje tunela in odpiranje Jupyterja v brskalniku
Sedaj morate posredovati vrata z računskega vozlišča na svoj lokalni računalnik. Sledite navodilom glede na svoj operacijski sistem ali odjemalca.
Windows (PuTTY)
V nastavitvah tunela v PuTTY dodajte:
- Izvorna vrata:
7000 - Cilj:
gn03:7000
VSCode
S klikom na povezavo v izpisu Jupyterja bi se moral tunel vzpostavit samodejno.
Če ste v ukazu ssh -L uporabili prilagojena vrata (prva vrata, <lokalna-vrata> v ssh -L <lokalna-vrata>:gn03:7000), jih lahko ročno nastavite v zavihku Ports v VSCode (nahaja se zgoraj levo v terminalnem oknu).
Linux in macOS
V ločenem terminalu na svojem lokalnem računalniku zaženite naslednji ukaz in ustrezno zamenjajte gnXX, 7000 ter your-username:
ssh -N -f -L 7000:gnXX:7000 your-username@vglogin0005.vega.izum.si
Korak 5: Odprite Jupyter v brskalniku
Odprite brskalnik in pojdite na:
http://localhost:7000/?token=<your-token>
Zamenjajte <your-token> z žetonom, prikazanim v izpisu Jupyterja v Koraku 3.
(Za več informacij glejte dokumentacijo Jupyter Notebook.