Jupyter Notebook เป็นเครื่องมือสำหรับเขียน Code ที่นิยมมากในงานด้าน Data science และ Machine Learning ถือว่าเป็นเครื่องมือที่ใช้งานได้ง่ายมากด้วยครับ เพราะเราสามารถพิมพ์ Code เข้าไป กดรัน แล้วดูผลลัพธ์แบบอ่านง่ายสวยงามได้ทันที
ในบทความนี้ ผู้เรียนจะได้ทดลองติดตั้งและใช้งาน Jupyter Notebook บน AWS บน Cloud ของ Amazon AWS โดยใช้ผลิตภัณฑ์ที่ชื่อว่า EC2 ซึ่งจะมีประโยชน์สำหรับผู้ที่อยากลองรัน Code แนว Machine Learning แต่สเปกเครื่องคอมพิวเตอร์ของตัวเองรันไม่ไหว
สำหรับใครที่สนใจคอร์สเรียน AI ขอแนะนำคอร์ส Machine Learning (AI701) หรือหากยังไม่มีพื้นฐานเขียนโปรแกรมมาก่อนสามารถลงคอร์ส Python + Web Programming + Machine Learning (PY203) ของทาง EPT ที่สอนแบบจัดเต็มตั้งแต่พื้นฐาน Python จนลงลึกถึงทฤษฎี AI ซึ่งเป็นคอร์สที่มีหลักสูตรเทียบเท่าเรียนในมหาวิทยาลัยชั้นนำ 2-3 ปีเลยครับ
อ่านได้จากบทความ A40 - Create AWS EC2 instance
หลังจากเชื่อมต่อเสร็จแล้วให้เปิดหน้าต่างโปรแกรม PuTTY ทิ้งไว้เลย
ในบทความนี้จะสาธิตการติดตั้ง Anaconda บน Ubuntu 18.04LTS
1. ไปที่เว็บ Anaconda เพื่อ copy link ดาวน์โหลดสำหรับ Linux โดยไปที่ https://www.anaconda.com/distribution/ แล้วเลื่อนลงมาตรงส่วนดาวน์โหลด เลือก tab Linux ที่ช่อง Python 3.7 version ให้คลิกขวาที่ปุ่ม Download แล้วเลือก Copy link address
หมายเหตุ: เลขเวอร์ชันของ Python อาจเปลี่ยนไปตามกาลเวลา
ถ้าลองเปิดโปรแกรม Notepad ขึ้นมาแล้วกด Ctrl+V เพื่อวาง จะได้ link สำหรับดาวน์โหลดดังตัวอย่าง
https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
2. กลับมาที่หน้าต่าง command ของ PuTTY พิมพ์คำสั่ง wget แล้วต่อด้วย link สำหรับดาวน์โหลด วิธีการแบบง่าย ๆ คือ พิมพ์ wget กด space bar เพื่อเว้นวรรค แล้วคลิกขวาตรงหน้าต่าง command จะเป็นการวาง link ที่ copy ไว้ให้เอง ทำให้ได้คำสั่งดังตัวอย่างด้านล่าง จากนั้นกด Enter
wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh |
3. ติดตั้ง Anaconda
bash Anaconda3-2019.10-Linux-x86_64.sh |
4. การจะใช้ Jupyter Notebook จำเป็นต้อง Add path ใส่ system’s path ก่อน ซึ่งโดยปกติเมื่อติดตั้ง Anaconda เสร็จมันจะเพิ่มให้เองโดยอัตโนมัติ เราสามารถตรวจสอบได้โดยพิมพ์คำสั่ง
which python |
ถ้ามี path อยู่แล้วมันจะ return path กลับมาให้ ดังตัวอย่างที่ return /home/ubuntu/anaconda3/bin/python
กรณีที่ยังไม่มี path ให้เพิ่มโค้ดต่อไปนี้ไปที่บรรทัดแรกของไฟล์ .bashrc แล้ว save ไฟล์
export PATH=/home/ubuntu/anaconda3/bin:$PATH |
จากนั้นพิมพ์คำสั่ง
source .bashrc |
5. ต่อไปจะทำการตั้งค่า Jupyter Notebook ซึ่งในขั้นตอนต่อไปนี้จะพิมพ์คำสั่งผ่านหน้าต่าง PuTTY command ทั้งหมด ก่อนอื่นให้สร้าง Jupyter config file เตรียมไว้ก่อนโดยพิมพ์คำสั่ง
jupyter notebook --generate-config |
6. Generate password สำหรับ Jupyter Notebook โดยใช้ ipython
ipython |
from IPython.lib import passwd |
7. ทำการแก้ไข Jupyter config file ที่เราสร้างไว้ในขั้นตอนที่ 5 โดยใช้ vim
vim .jupyter/jupyter_notebook_config.py |
จะปรากฏพื้นที่สำหรับพิมพ์ข้อความ ดังภาพ
conf = get_config()
conf.NotebookApp.ip = '0.0.0.0'
conf.NotebookApp.password = u'YOUR_HASH'
conf.NotebookApp.port = 8888
เพียงเท่านี้ Jupyter Notebook ของเราก็พร้อมใช้งานแล้ว แต่อย่าเพิ่งปิดหน้าต่างโปรแกรม PuTTY นะครับ
1. เริ่มใช้งาน Jupyter Notebook ด้วยคำสั่ง
jupyter notebook |
กรณีที่ต้องการเปิด Jupyter Notebook ไว้ตลอด แม้จะปิดโปรแกรม PuTTY ไปแล้วก็ตามให้พิมพ์คำสั่งต่อไปนี้แทน
nohup jupyter notebook & |
2. ในขั้นตอนนี้เราจะสามารถใช้งาน Jupyter Notebook ได้แล้ว ให้เปิด Web browser ขึ้นมาแล้วเข้า Jupyter Notebook โดยพิมพ์ Public DNS แล้วตามด้วย :8888 ดังในตัวอย่างนี้คือ url http://ec2-18-139-228-163.ap-southeast-1.compute.amazonaws.com:8888/
3. พิมพ์ password ที่ตั้งไว้ในขั้นตอนที่ 23 แล้วกดปุ่ม Log in เพียงเท่านี้ Jupyter Notebook ก็พร้อมใช้งานแล้ว
4. หลังจาก Log in เข้าไปก็จะเห็นไฟล์ในเครื่องของเรา เช่น Anaconda3-2019.10-Linux-x86_64.sh ซึ่งไม่ต้องใช้แล้ว ถ้าต้องการลบไฟล์ก็ติ๊กที่ช่องด้านหน้า แล้วกดรูปถังขยะข้างบน
5. มาลองใช้ Notebook กัน ให้กด New > Python 3
6. จะปรากฏหน้า Notebook ขึ้นมาอีก Tab หนึ่งของ browser ให้ลองพิมพ์ 2*6 แล้วกดปุ่ม Run ด้านบน
7. จะเห็นว่าได้คำตอบออกมาถูกต้อง เย้
ในบทความต่อไป เราจะมาเรียนรู้การใช้ Pandas เพื่อวิเคราะห์ข้อมูลต่าง ๆ กัน แล้วพบกันใหม่บทความหน้านะครับ
Tag ที่น่าสนใจ: jupyter_notebook aws ec2 anaconda python machine_learning data_science cloud_computing putty ubuntu programming ai web_programming linux data_analysis
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM