Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

my.ipynb บน Colab

  1. ติดตั้ง package ที่ต้องการใช้งานให้กับ session

!pip install pythainlp

2. จัดการกับแหล่งข้อมูลโดยเชื่อมต่อกับ google drive หรือโอนถ่ายข้อมูลขึ้น Colab session

from google.colab import drive
drive.mount('/content/drive')

3. โปรแกรมที่กำลังพัฒนาเพื่อสร้างโมเดล (… โดยย่อ)

import pandas as pd
from pythainlp import word_tokenize
...
listtext = []
with open('/content/drive/MyDrive/news.txt', 'r', encoding = 'utf8') as f:
    for line in f.readlines():
        listtext.append(line.strip())
df = pd.DataFrame(listtext, columns=['text'])
...
df['tokenized'] = df.text.apply(tokenize)
embedding_model = word2vec.Word2Vec(...)
embedding_model.build_vocab(df.tokenized)
%time
embedding_model.train(df.tokenized, total_examples = embedding_model.corpus_count, epochs = 15) 

8. การทดสอบโมเดล

word = 'AI'
embedding_model.wv.most_similar(word, topn = 15)

Colab-to-TARA

Common Steps

Colab

TARA

ติดตั้ง package ที่ต้องการใช้งานให้กับ session environment

!pip install pythainlp

การจัดการกับ environment บน HPC สามารถทำได้หลายรูปแบบ เช่น virtualenv / conda / Singularity container (อ่านเพิ่มเติมได้ที่นี่)

ในตัวอย่างนี้ใช้ virtualenv

$ module avail python
$ module load Python/3.7...
$ virtualenv venv
$ source venv/bin/activate

(venv) $ pip install pythainlp

จัดการกับแหล่งข้อมูลโดยเชื่อมต่อกับ google drive หรือโอนถ่ายข้อมูลขึ้น Colab session

from google.colab import drive
drive.mount('/content/drive')

scp data from your local machine to your Project Home (proj{xxxx}) in HPC

$ scp news.txt username@tara.nstda.or.th:/{your-project-home-path}/

โปรแกรมที่กำลังพัฒนาเพื่อสร้างโมเดล

เป็น interactive session ผ่าน Jupyter notebook style บน Colab

เตรียม word2vec.py โดยหากพัฒนาโปรแกรมเสร็จแล้วจาก Colab ก็สามารถ nbconvert file จาก Colab มาเป็น python file ได้เลย
$ jupyter my.ipynb nbconvert --to python

สั่งรันโปรแกรม

เป็น interactive session ผ่าน Jupyter notebook style บน Colab

เตรียม sbatch submission script (submit.sh)

$ sbatch submit.sh

การทดสอบโมเดล

เป็น interactive session ผ่าน Jupyter notebook style บน Colab

สามารถเรียกใช้งาน interactive mode เพื่อการทดสอบโมเดลได้ด้วยคำสั่ง

$ sinteract เพื่อเปิด interactive session และสามารถรัน python เพื่อทดสอบโมเดลได้บน compute node เช่น

(venv) [apiyatum@tara-c-057 w2v]$ python
Python 3.7.4 (default, Apr 30 2020, 13:19:10) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> testmodel = word2vec.Word2Vec.load("/tarafs/data/project/projxxxx/workingdir/xyz.model")
>>> testmodel.wv.most_similar('AI', topn=5)
[('Ai', 0.2572551369667053),
('เทคโนโลยี', 0.21931828558444977),
('หุ่นยนต์', 0.21708077192306519),
('Photoshop', 0.19669440388679504),
('ปัญญาประดิษฐ์', 0.19432862102985382)]

อ่านเพิ่มเติมเกี่ยวกับ sinteract ได้ที่นี่

  • No labels