Part 2 Learning Phase : Create Model, Train Model, Convert model
Last updated
Last updated
VDO ประกอบ
หลังจากที่เราได้ทำการเก็บ datasets มาเรียบร้อยแล้วนะครับ ก่อนอื่นเลยเนี่ยเราก็จะทำการแยกข้อมูลของแต่ละคำออกจากกัน เพื่อเตรียมข้อมูลสำหรับการ training นะครับ ซึ่งผมจะแยกเป็นไฟล์ csv ตามชนิดของคำ
ซึ่งภายในไฟล์ csv จะเก็บข้อมูลองค์ประกอบของคำที่เราพูดแบ่งตามบรรทัด ในแต่ละบรรทัดจะหมายถึง แอมพลิจูด ขององค์ประกอบความถี่ย่อยของเสียงนั้นๆ เช่นรูปด้านล่างเป็น dataset ของเสียง หนึ่ง บรรทัดแรกคือองค์ประกอบความถี่ของเสียง หนึ่ง หนึ่งคำ คอลัมน์แรกเป็นแอมพลิจูดที่ความถี่ 17.85 *1 Hz คอลัมน์ที่สองเป็นแอมพลิจูดที่ความถี่ 17.85 *2 Hz เป็นต้น
เมื่อทำการเตรียมชุดข้อมูลของแต่ละคำเรียบร้อยแล้วก็ให้ทำการสร้างเป็นไฟล์ zip เพื่อให้ง่ายต่อการอัพโหลดขึ้นไปใช้งานบน google Colab
จากนั้นเปิด link Demo_KB32_tinyML.ipynb และกด Connect เพื่อเริ่มใช้งาน Session
ตัว code ส่วนแรกจะเป็นการเตรียม library และฟังก์ชันที่ใช้งานในโปรแกรม รวมถึงทำการ unzip และโหลด datasets
Code ส่วนที่ 2 จะเป็นการแบ่ง dataset ออกเป็น 2 ส่วนสำหรับ train และ validate จากนั้นทำการสร้าง neuron network พร้อมทั้งกำหนดค่า hyperparameter ต่างๆ ส่วนสุดท้ายเป็นการสั่ง train จำนวน 100 Epoch แล้วทำการ save model แต่หากเพื่อนๆยังไม่พอใจในผลลัพท์ก็สามารถเพิ่มจำนวน Epoch หรือปรับแต่ง hyperparameter ดูได้ครับ
หลังจากที่ได้โมเดลเรียบร้อยแล้ว ใน Code ส่วนสุดท้ายนี้ก็จะเป็นการเรียกฟังก์ชันสำหรับแปลงตัว TensorFlow model ให้เป็น TensorFlow Lite สำหรับไมโครคอนโทรลเลอร์ ที่จะให้เราสามารถนำไปร้านในตัว KB32-FT ได้ครับ
เท่านี้เราก็สามารถนำตัว AI ที่มีความสามารถแยกเสียงต่างๆที่เราสอนเข้าไป ทำงานในไมโครคอนโทรลเลอร์ได้
ผู้ที่สนใจบอร์ด KB32-FT สามารถดูข้อมูล หรือสั่งซื้อได้ที่ LINK
ขอบคุณครับ