Categories
Computer Diary

การใช้ Spread Operator ในภาษาไพทอน

Spread Operator เป็นตัวช่วยให้เราเขียนโค้ดในภาษาจาวาสคริปได้สะดวกขึ้นหลังจากการเปิดให้ใช้ตั้งแต่ ES6 เป็นต้นมา สัญลักษณ์นี้อนุญาตให้เรากระจายข้อมูลใน Array, String, Object ออกมาเป็นตัวแปรเดี่ยว ๆ เพื่อนำไปใช้งานในฟังก์ชัน หรือนำไปใช้สร้าง Array, Object ใหม่ เป็นต้น ตามนิยามของ Mozilla Developer Network ได้ตามนี้

Categories
Computer Diary

วิธีพัฒนาแอพลิเคชันบน Surface Pro X

ต่อจากบทความก่อนหน้าที่พูดถึงแอพที่ใช้งานบนคอมพิวเตอร์ Surface Pro X

การพัฒนาแอพลิเคชันเพื่อใช้งานของเราที่กล่าวถึงจะเป็นการพัฒนาเว็บไซต์ รวมถึงพัฒนาโปรแกรมเพื่อใช้งานทางด้าน AI/ML (Artificial Intelligence/Machine Learning) เพื่อนำไปเทรนข้อมูล และทดสอบข้อมูลบนเครื่องคอมพิวเตอร์แม่ข่ายที่มีการ์ดจอเพื่อช่วยการประมวลผล

ในตอนนี้ เราจะพัฒนาบนเครื่อง Surface Pro X (คือมีเครื่องนี้อยู่แล้ว แต่จะเอาไปใช้กับคอมเครื่องอื่นที่ใช้ ARM ก็ได้) เพื่อทดสอบการใช้งานเบื้องต้น (Prototyping) ก่อนจะนำไปทำงานบนคอมพิวเตอร์เครื่องจริง

Categories
Computer Diary

การติดตั้ง เขียนโค้ดเพื่อใช้งาน ONNX.js และข้อสังเกต

การนำโมเดลที่ได้รับการเรียนรู้แล้วมาทำงานบนเว็บเบราว์เซอร์ไม่ได้เป็นเรื่องใหม่นัก เพราะบริษัทกูเกิ้ลพัฒนาไลบรารีชื่อ Tensorflow.js โดยเรานำโมเดลที่ได้รับการเรียนรู้แล้วมาทำนาย หรือเรียนรู้ข้อมูลใหม่บนเว็บไซต์ได้เลยโดยไม่จำเป็นต้องส่งข้อมูลไปทำนายบนเซิร์ฟเวอร์

ส่วนไลบรารี ONNX.js เป็นส่วนหนึ่งของไลบรารี ONNX (Open Neural Network Exchange) ที่ได้รับการพัฒนาโดยบริษัทไมโครซอฟท์ เพื่อให้นำโมเดลที่ได้รับการเรียนรู้จากไลบรารี Deep learning ต่าง ๆ ได้แก่ PyTorch, Mxnet, Scikit learn เป็นต้น มาแปลงเพื่อนำไปใช้กันกับไลบรารีอื่นได้เลย หรือนำโมเดลที่เรียนรู้มาทำนายข้อมูล (Inference) ได้ โดยไลบรารี ONNX.js นี้ เปิดให้นักพัฒนาที่เทรนข้อมูลมาแล้ว เอามาทำนายข้อมูลที่มีอยู่บนเว็บเบราวเซอร์ (หรือบนคอมพิวเตอร์ผ่าน Node.js) ได้โดยไม่จำเป็นต้องมาเรียนรู้ใหม่อีก

Categories
Computer Diary

Coding in React + Others

ตอนทำธิสิสทางอาจารย์จะให้ทำเป็นตัวโปรแกรมเพื่อให้ใช้งานกับคอมพิวเตอร์แทนที่จะใช้อุปกรณ์ไม้บรรทัดวัดมุมการเคลื่อนไหวของศีรษะและลำคอ หรือเรียกอีกอย่างว่า Goniometer เพราะเครื่องมือนั้นขึ้นกับผู้วัดแต่ละคน ทำให้เกิดความคลาดเคลื่อนระหว่างการวัดได้ เลยเป็นสาเหตุที่เราจะพัฒนาตัวโปรแกรมกัน