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

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

ทำไมไมโครคอนโทรลเลอร์จึงมีความสำคัญ

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

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

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

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

สำรวจตัวอย่าง

แอปพลิเคชันตัวอย่างแต่ละรายการอยู่บน Github และมีไฟล์ README.md ที่อธิบายวิธีการปรับใช้กับแพลตฟอร์มที่รองรับ ตัวอย่างบางส่วนยังมีบทช่วยสอนแบบ end-to-end โดยใช้แพลตฟอร์มเฉพาะ ดังที่ระบุด้านล่าง:

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

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

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

ข้อจำกัด

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

ควรพิจารณาข้อจำกัดต่อไปนี้:

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