ช่วยปกป้อง Great Barrier Reef กับ TensorFlow บน Kaggle เข้าร่วมท้าทาย

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

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

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

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

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

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

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

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

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

เวิร์กโฟลว์

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

  1. รถไฟรูปแบบ:
  2. เรียกใช้การอนุมานบนอุปกรณ์ที่ใช้ ไลบรารี c ++ และประมวลผล

ข้อจำกัด

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

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

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

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