บทความนี้จะแนะนำการใช้งาน Jupyter Notebook กับ Virtualenv บนระบบ TARA HPC เบื้องต้น ซึ่งต้อง ssh tunneling ไปยัง TARA HPC โดยจะนำเสนอเป็นลำดับขั้นตอนต่อไป
Table of Contents |
---|
เตรียม environment บน TARA HPC ด้วย Virtualenv
Module Load
เลือกใช้ module software version ที่ต้องการ ในกรณีคือ Python ด้วยคำสั่ง
ml av Python
เพื่อดูก่อนว่าระบบ HPC มี python version ไหนให้ใช้ได้บ้างml Python/3.7.4-GCCcore-8.3.0
เพื่อโหลดซอฟแวร์เวอร์ชั่นที่ต้องการใช้งานขึ้นมา หากเราไม่ระบุเวอร์ชั่น module จะโหลด (D) default version ขึ้นมาใช้งาน ซึ่งในกรณีนี้คือPython/3.9.5-GCCcore-10.3.0 (L,D)
...
Code Block |
---|
(venv) [username@tara-frontend-1 prep]$ pip install jupyterlab ... |
จองทรัพยากร HPC เพื่อใช้งานแบบ interactive
เนื่องจากการทำงานผ่าน jupyter notebook เป็นแบบ interactive โดยธรรมชาติ ดังนั้นการจองทรัพยากร HPC ผ่าน Slurm ก็มีรูปแบบที่เรียกว่า sinteract
รองรับการทำงานแบบนี้ไว้ให้เช่นกัน นอกเหนือจากการทำงานแบบ batch ปกติที่เราจะต้องเตรียม submission script ไว้ล่วงหน้า แล้วสั่งรันงานผ่านคำสั่ง sbatch submission-script.sh
...
ดังนั้นหากเราต้องการทำงานแบบ interactive ที่ใช้เวลามากกว่า 30 นาที หรือมีความจำเป็นต้องทำงานกับ partition อื่นๆ เช่น memory หรือ gpu เราก็สามารถทำการเลือก partition ได้ และใส่ทางเลือกอื่นๆเพิ่มเติมได้เช่นเดียวกับตอนเตรียม sbatch script เช่นกัน (ศึกษาทางเลือกต่างๆในการจองทรัพยากรแบบ sbatch ได้ที่นี่ และเพิ่มเติมเกี่ยวกับ sinteract ได้ที่นี่)
Code Block |
---|
[username@tara-frontend-1 ~]$ sinteract -p compute -N 1 ... [username@tara-c-059 ~]$ |
จากตัวอย่างข้างต้น จะเห็นได้ว่าคำสั่งได้เลือก partition compute และเลือกใช้จำนวน 1 เครื่องเต็ม โดยไม่ได้กำหนดระยะเวลา ทำให้ได้เครื่อง tara-c-059 มาใช้งานแตกต่างจากการเลือกใช้ default option ดังแสดงก่อนหน้า
ใช้งาน Jupyter Notebook ผ่าน ssh tunnelling
เมื่อได้เครื่องแล้วก็จะสามารถสตาร์ทโน้ตบุคใน node ทรัพยากรที่ได้รับมา jupyter notebook --no-browser
ดังแสดงในตัวอย่างด้านล่าง ซึ่งเรากำลังจะเข้าสู่โหมดการใช้งานรวม 3 หน้าต่างเป็นอย่างน้อย กล่าวคือ
...
Terminal 1 - jupyter notebook --no-browser
Code Block |
---|
[username@tara-c-001 prep]$ source venv/bin/activate
(venv) [username@tara-c-001 prep]$ jupyter notebook --no-browser
[I 2021-10-02 13:05:31.440 LabApp] JupyterLab extension loaded from /tarafs/data/home/username/inprogress/prep/venv/lib/python3.7/site-packages/jupyterlab
[I 2021-10-02 13:05:31.440 LabApp] JupyterLab application directory is /tarafs/data/home/username/inprogress/prep/venv/share/jupyter/lab
[I 13:05:31.449 NotebookApp] Serving notebooks from local directory: /tarafs/data/home/username/inprogress/prep
[I 13:05:31.449 NotebookApp] Jupyter Notebook 6.4.4 is running at:
[I 13:05:31.449 NotebookApp] http://localhost:8888/?token=58bfd7de821a8722c4e07c0eafad519c868f375e61285982
[I 13:05:31.449 NotebookApp] or http://127.0.0.1:8888/?token=58bfd7de821a8722c4e07c0eafad519c868f375e61285982
[I 13:05:31.449 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 13:05:31.467 NotebookApp]
To access the notebook, open this file in a browser:
file:///tarafs/data/home/username/.local/share/jupyter/runtime/nbserver-24757-open.html
Or copy and paste one of these URLs:
http://localhost:8888/?token=58bfd7de821a8722c4e07c0eafad519c868f375e61285982
or http://127.0.0.1:8888/?token=58bfd7de821a8722c4e07c0eafad519c868f375e61285982
|
...
Code Block |
---|
[username@tara-frontend-1 prep]$ ml Python/3.7.4-GCCcore-8.3.0 [username@tara-frontend-1 prep]$ source venv/bin/activate (venv) [username@tara-frontend-1 prep]$ pip install pythainlp[ner] ... (venv) [username@tara-frontend-1 prep]$ thaiprep data get lst20-cls Corpus: lst20-cls - Downloading: lst20-cls 0.2 100%|█████████████████████████████████████████████████████████████████████| 3738912/3738912 [00:00<00:00, 14208949.66it/s] Downloaded successfully. (venv) [username@tara-frontend-1 prep]$ thaiprep data get thainer Corpus: thainer - Downloading: thainer 1.5 100%|██████████████████████████████████████████████████████████████████████| 1637304/1637304 [00:00<00:00, 6083390.29it/s] Downloaded successfully. (venv) [username@tara-frontend-1 prep]$ thaiprep data get thainer-1.4 Corpus: thainer-1.4 - Downloading: thainer-1.4 1.4 100%|██████████████████████████████████████████████████████████████████████| 1872468/1872468 [00:00<00:00, 6637009.99it/s] Downloaded successfully. (venv) [username@tara-frontend-1 prep]$ |
...
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...