PyTorch 1.3 ออกแล้ว

PyTorch เป็น Machine Learning Library ที่ได้รับความนิยมอย่างต่อเนื่องในหมู่นักวิจัย ตอนนี้ได้ออกเวอร์ชัน 1.3 แล้ว มีฟีเจอร์ใหม่ ๆ เช่น 8-bit Integer Eager Mode Quantization, สนับสนุนอุปกรณ์ Mobile iOS และ Android, สนับสนุน TPU และ Cloud, อนุญาตให้ตั้งชื่อ Tensor, Detectron2, การเข้ารหัส Tensor เพื่อความปลอดภัย สำหรับข้อมูลส่วนตัว, etc.

สอนวิธี Contribute Open Source Software Project ส่ง Pull Request แก้ Bug บน GitHub Fastai – OSS Contribution ep.2

จาก ep ที่แล้ว ที่เรากำลังจะช่วยแก้ Bug ใน Tensorboard callback บน GitHub ของ fastai ซึ่งเป็น Bug ที่ทำให้ไม่มีการแสดง Embedding ใน Tensorboard เราได้ศึกษา หาข้อมูล สื่อสาร จนได้ไฟเขียวให้จากทีมงานเรียบร้อย ใน ep นี้เราจะมาเริ่มลงมือแก้ไขโค้ดกันจริง ๆ Commit และ Push ไปไว้บน Github ไปจนสร้าง Pull Request (PR) สำหรับให้ทีมงานเข้ามาดึงโค้ดของเราไป Merge รวมกับโค้ดต้นฉบับ ให้คนทั่วไปได้ใช้ ตามขั้นตอนดังนี้

เริ่มต้น Contribute Open Source Software แก้ Bug ใน Fastai เรื่อง Tensorboard Integration – OSS Contribution ep.1

จากในบทความก่อนหน้า เรื่อง Visualization Deep Neural Network ด้วย Tensorboard ทั้ง 2 Ep (1, 2) ถ้าสังเกตตรง import จะเห็นว่าต่างกัน เนื่องจากใน Official Library ของ fastai มี Bug ทำให้ไม่แสดง Embedding ในแท็ป Projector เป็นเหตุให้เราต้องหา Library ตัวอื่นมาใช้แทน แต่ถ้าเราไม่อยากใช้ Library ภายนอก เนื่องจาก Fast.ai เป็น Open Source Software Project เรามีทางเลือก 2 ทาง 1. คือรอให้ทาง Official เค้าแก้ 2. เราเข้าไป Contribute ช่วยเค้าแก้ ในเคสนี้เราจะลองข้อ 2 เพราะไม่อยากรอ แต่ปัญหาคือเราจะเริ่มต้นอย่างไร

Visualization Embedding ภายในโมเดล Deep Neural Network – Tensorboard ep.2

ใน ep นี้เราจะมาใช้ Tensorboard ทำ Visualization ให้กับ Embedding ขนาด 50 มิติ Projector ให้ออกมาเป็น 3D กราฟสวย ๆ ให้เราสามารถหมุนไปมา เลือกกรองหนังเรื่องที่เราต้องการ ดูความใกล้เคียง ของหนังที่เกี่ยวข้อง เพื่อให้เราตีความ เข้าใจได้ง่ายขึ้น

Visualization ภายในโมเดล Deep Neural Network แสดงผลการเทรน Deep Learning ด้วย Tensorboard ep.1

ตามปกติเราจะคิดว่า Deep Neural Network เป็นเหมือน Black Box หรือกล่องดำ ที่เราไม่สามารถจะเข้าใจการทำงานภายในได้ Tensorboard คือเครื่องมือที่จะช่วยให้เราส่องทะลุเข้าไปเห็นถึงการทำงานภายในของโมเดล ตั้งแต่การเทรน Deep Learning, Metrics, Gradient, Embedding, Optimization, Etc. ให้เราเห็นภาพ และเข้าใจมากขึ้น ช่วยให้การ Debug, Hyperparameter Tuning ทำได้ง่ายขึ้น