สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

AWS

Jupyter Notebook on AWS วิธีสร้าง AWS EC2 instance สร้าง Web Application โดยใช้ Django และ Deploy บน AWS EC2

AI101 - Jupyter Notebook on AWS

ติดตั้งและใช้งาน Jupyter Notebook บน AWS


 

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 ปีเลยครับ

 

สร้าง EC2 Instance และเชื่อมต่อ EC2 Instance ผ่านโปรแกรม PuTTY

อ่านได้จากบทความ A40 - Create AWS EC2 instance

หลังจากเชื่อมต่อเสร็จแล้วให้เปิดหน้าต่างโปรแกรม PuTTY ทิ้งไว้เลย

 

ติดตั้ง Anaconda บน EC2 Instance

ในบทความนี้จะสาธิตการติดตั้ง 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 แล้วตามด้วยชื่อไฟล์ที่ดาวน์โหลดมา ดังตัวอย่าง
    bash Anaconda3-2019.10-Linux-x86_64.sh

  • หลังจากกด Enter แล้วจะเริ่มทำการติดตั้ง ระหว่างนั้นจะมีข้อความเกี่ยวกับ license ขึ้นมา ถ้าเห็นข้อความใน command หยุดวิ่ง ให้กด Enter ไปเรื่อย ๆ จนกระทั่งเจอข้อความ Do you accept the license terms? ให้พิมพ์ yes แล้วกด Enter 
  •  ระบบจะให้ยืนยันว่าจะติดตั้งที่ location ที่มันกำหนดไหม ถ้ายืนยันก็กด Enter หรือเราอาจจะอยากกำหนด location เองก็ได้ แต่ในตัวอย่างนี้จะใช้ location default ของมันเลย
  • รอจนติดตั้งเสร็จ ระบบจะถามว่า Do you wish the installer to initialize Anaconda3 by running conda init? ให้ตอบ yes แล้วกด Enter จากนั้นรอจนเสร็จ

  
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 command line ด้วยคำสั่ง
    ipython

  • ใน IPython command line ให้ import passwd โดยพิมพ์โค้ดต่อไปนี้แล้วกด Enter
    from IPython.lib import passwd

  • พิมพ์ passwd() แล้วกด Enter จากนั้นใส่ password ที่ต้องการ
  • หลังจากนั้น IPython จะ generate hash ออกมาให้ ให้ copy สิ่งที่ได้ออกมานี้เก็บไว้ใน Notepad ก่อน เดี๋ยวจะต้องใช้ในภายหลัง
  • ออกจาก IPython ด้วยคำสั่ง exit

     

7. ทำการแก้ไข Jupyter config file ที่เราสร้างไว้ในขั้นตอนที่ 5 โดยใช้ vim

  • เปิด Jupyter config file 
    vim .jupyter/jupyter_notebook_config.py


    จะปรากฏพื้นที่สำหรับพิมพ์ข้อความ ดังภาพ

  • กดปุ่ม i เพื่อเข้าโหมด Insert จะเห็นว่าด้านล่างมีคำว่า -- INSERT -- ปรากฏขึ้นมา
  • เพิ่มโค้ดต่อไปนี้ลงไป โดยเปลี่ยนคำว่า YOUR_HASH เป็น password hash ที่ IPython generate ออกมาให้ในขั้นตอนที่ 6
    conf = get_config()
    
    conf.NotebookApp.ip = '0.0.0.0'
    conf.NotebookApp.password = u'YOUR_HASH'
    conf.NotebookApp.port = 8888
  • กดปุ่ม ESC เพื่อออกจากโหมด Insert แล้วพิมพ์ :wq
  • กด Enter เพื่อบันทึกไฟล์และออกจาก vim

เพียงเท่านี้ Jupyter Notebook ของเราก็พร้อมใช้งานแล้ว แต่อย่าเพิ่งปิดหน้าต่างโปรแกรม PuTTY นะครับ

 

มาใช้ Jupyter Notebook กันเลย

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

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา