ก่อนหน้านี้ ถ้าเราต้องการศึกษา การเขียนโปรแกรม AI, Machine Learning เราต้องดาวน์โหลดโปรแกรม มาติดตั้งมากมาย ไม่ว่าจะเป็น Python, Anaconda, TensorFlow, Keras, PyTorch, Fastai, Sklearn, Jupyter Notebook, etc. โดยไม่รู้ว่าต้องลงอะไรบ้าง Platform อะไร เวอร์ชันไหน เริ่มต้นอย่างไร ใช้ยังไง แต่ตอนนี้เราสามารถแก้ปัญหานี้ได้ง่าย ๆ ด้วยการเข้าไปที่หน้าเว็บ Colab

Colab คืออะไร

Google Colab ชื่อเต็มคือ Google Colaboratory เป็นบริการ Software as a Service (Saas) โฮสต์โปรแกรม Jupyter Notebook บน Cloud จาก Google

Google Colab ใช้ยังไง เราสามารถใช้ Google Colab สร้าง Notebook เขียนโปรแกรมภาษา Python ได้ฟรี ๆ และแถมยังมี GPU, TPU ให้เราได้ใช้ฟรีอีก ทีละ 12 ชั่วโมง ใจดีสุด ๆ

ขณะนี้ Google Colab มี GPU ให้เราใช้ ดังนี้

  • Nvidia Tesla K80
  • Nvidia Tesla T4
  • Nvidia Tesla P100 (ดีสุด)

โดยเราสามารถ เช็คสเปคของ GPU ได้ด้วยคำสั่ง !nvidia-smi ถ้าไม่พอใจสามารถ เลือกเมนู Runtime / Factory reset runtime เพื่อเปลี่ยนเครื่อง อาจจะได้ GPU ที่ดีขึ้น ถ้ามีเครื่องว่าง

Unmatched AI Acceleration with Turing Tensor Cores. Credit https://www.nvidia.com/en-us/data-center/products/enterprise-server/
Unmatched AI Acceleration with Turing Tensor Cores. Credit https://www.nvidia.com/en-us/data-center/products/enterprise-server/

แต่ถ้าเราไม่ได้เริ่มต้นที่ Notebook เปล่า ซอร์สโค้ด Jupyter Notebook ของเราเก็บอยู่ GitHub แล้วอยากไปเปิดแก้ไขไปรันบน Google Colab จะทำอย่างไรดี

ใน ep นี้เราจะมาสอนเปิด Jupyter Notebook ที่อยู่ใน GitHub บน Google Colab และเรียนรู้วิธีสร้างปุ่ม Open In Colab ไปใส่บนเว็บไซต์ของเรา ที่กดปุ่มแล้วจะเปิด Jupyter Notebook ของเราที่เราเก็บ Source Code อยู่ใน GitHub ไปเปิดบน Google Colab วิธีการมีดังนี้

1. เข้าไปดู URL ของ Notebook ที่ GitHub

เข้าไปใน Repository ของเรา Browse ไปยัง Notebook ที่เราต้องการ แล้ว Copy URL มาเก็บไว้ก่อน สังเกตที่ตัวหนา หลัง github.com/ ตัวอย่างเช่น

https://github.com/gnoparus/bualabs/blob/master/nbs/15b-numerical-operations-tensor.ipynb

GitHub gnoparus/bualabs/nbs/15b Jupyter Notebook Screenshot
GitHub gnoparus/bualabs/nbs/15b Jupyter Notebook Screenshot

2. นำ URL มาใส่ใน โค้ด HTML

เราจะนำ URL ด้านบน ตั้งแต่ https://github.com/ เป็นต้นไป สังเกตตัวหนา ไปใส่ไว้ในลิงค์หลัง https://colab.research.google.com/github/ แล้วใส่ในช่อง Web Address ได้เลย เช่น โค้ดตัวอย่าง ดังนี้

ลิงค์ Link

https://colab.research.google.com/github/gnoparus/bualabs/blob/master/nbs/15b-numerical-operations-tensor.ipynb

ปุ่ม HTML Button

<a href="https://colab.research.google.com/github/gnoparus/bualabs/blob/master/nbs/15b-numerical-operations-tensor.ipynb">
  <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
</a>

ปุ่ม Markdown

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/gnoparus/bualabs/blob/master/nbs/15b-numerical-operations-tensor.ipynb)

3. Save และ Publish

Save และ Publish ขึ้น CMS ที่เราใช้จัดการเว็บไซต์อยู่ จะได้ปุ่มดังด้านล่าง

Open In Colab

4. กดปุ่ม Open In Colab

จะเปิดหน้า Google Colab ขึ้นมา ถ้าเป็น Private Repository ก็จะให้ Login และทำการ Link Google Account และ GitHub Account ถ้าเป็น Public Repository ก็ไม่ต้องทำอะไรเลย

Google Colab gnoparus/bualabs/nbs/15b Jupyter Notebook Screenshot
Google Colab gnoparus/bualabs/nbs/15b Jupyter Notebook Screenshot

อาจจะมีข้อความเตือนว่า Notebook นี้ไม่ได้พัฒนาโดย Google เป็น Notebook ของผู้อื่น โปรดใช้ความระมัดระวังก่อน Run โปรแกรมใด ๆ

5. Save Notebook ไปยัง Google Drive หรือ GitHub

เมื่อเราแก้ไข ใช้งาน Jupyter Notebook เรียบร้อยแล้ว ถ้าเราต้องการจะ Save กลับไปยัง GitHub หรือ Google Drive ให้ไปที่เมนู

File → Save a copy in Drive 

หรือ 

File → Save a copy to GitHub 

ชุมชนผู้ใช้ Colab ในประเทศไทย

มี Facebook Group ชื่อ Colab Thailand ซึ่งเป็น Community ของผู้ใช้ Colab ในประเทศไทย ที่จะแชร์ความรู้ เทคนิคพิเศษ ในการใช้งาน Google Colab ที่จะช่วยเราสามารถใช้งานได้สะดวกมากขึ้น

หมายเหตุ

ข้อดีของ Google Colab อีกอย่าง คือ เชื่อมต่อกับบริการต่างๆ ของ Google เช่น Google Drive, BigQuery และน่าจะมีเพิ่มขึ้นอีกเรื่อย ๆ ในอนาคต

แชร์ให้เพื่อน:

Surapong Kanoktipsatharporn on Linkedin
Surapong Kanoktipsatharporn
CTO at Bua Labs
The ultimate test of your knowledge is your capacity to convey it to another.

Published by Surapong Kanoktipsatharporn

The ultimate test of your knowledge is your capacity to convey it to another.