LiteRT สำหรับไมโครคอนโทรลเลอร์

LiteRT สำหรับไมโครคอนโทรลเลอร์ออกแบบมาเพื่อเรียกใช้โมเดลแมชชีนเลิร์นนิง บนไมโครคอนโทรลเลอร์และอุปกรณ์อื่นๆ ที่มีหน่วยความจำเพียงไม่กี่กิโลไบต์ รันไทม์หลักมีขนาดพอดีกับ 16 KB บน Arm Cortex M3 และทำงานพื้นฐานได้มากมาย ไม่ต้องมีการรองรับระบบปฏิบัติการ ใช้ C หรือ C++ มาตรฐานใดๆ หรือการจัดสรรหน่วยความจำแบบไดนามิก

เหตุใดไมโครคอนโทรลเลอร์จึงสำคัญ

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

แพลตฟอร์มที่รองรับ

LiteRT สำหรับไมโครคอนโทรลเลอร์เขียนด้วย C++ 17 และต้องใช้ 32 บิต ที่มีการจัดการครบวงจรได้เลย ซึ่งได้รับการทดสอบอย่างครอบคลุมกับโปรเซสเซอร์จำนวนมากตาม แขน Cortex-M Series และได้ย้ายไปยังสถาปัตยกรรมอื่นๆ ซึ่งรวมถึง ESP32 ของเฟรมเวิร์กพร้อมใช้งานเป็นไลบรารี Arduino นอกจากนี้ยังสร้างโปรเจ็กต์สำหรับ สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ เช่น Mbed ซึ่งเป็นโอเพนซอร์สและสามารถรวมใน โปรเจ็ค C++ 17 ใดก็ได้

บอร์ดการพัฒนาต่อไปนี้ได้รับการสนับสนุน:

ดูตัวอย่าง

แอปพลิเคชันตัวอย่างแต่ละรายการเปิดอยู่ GitHub และมีไฟล์ README.md ที่อธิบายวิธีที่ทำให้ไฟล์นี้ใช้งานได้กับที่รองรับ ใหม่ ตัวอย่างบางส่วนก็มีบทแนะนำตั้งแต่ต้นจนจบโดยใช้ ตามที่ระบุไว้ด้านล่าง

ขั้นตอนการทำงาน

จำเป็นต้องมีขั้นตอนต่อไปนี้เพื่อทำให้โมเดล TensorFlow ใช้งานได้บน ไมโครคอนโทรลเลอร์:

  1. ฝึกโมเดล
  2. เรียกใช้การอนุมานในอุปกรณ์โดยใช้ไลบรารี C++ และประมวลผล ผลลัพธ์

ข้อจำกัด

LiteRT สำหรับไมโครคอนโทรลเลอร์ ออกแบบมาเพื่อข้อจำกัดเฉพาะของ การพัฒนาไมโครคอนโทรลเลอร์ หากคุณกำลังใช้งานอุปกรณ์ที่มีประสิทธิภาพสูงขึ้น (สำหรับ เช่น อุปกรณ์ Linux แบบฝัง เช่น Raspberry Pi) มาตรฐาน เฟรมเวิร์ก LiteRT อาจผสานรวมได้ง่ายกว่า

โดยคำนึงถึงข้อจำกัดต่อไปนี้

  • รองรับกลุ่มย่อยแบบจำกัดของ การดำเนินการของ TensorFlow
  • รองรับอุปกรณ์ในจำนวนจำกัด
  • C++ API ระดับต่ำที่ต้องมีการจัดการหน่วยความจำด้วยตนเอง
  • ไม่รองรับการฝึกทำงานในอุปกรณ์

ขั้นตอนถัดไป