TensorFlow Lite คือชุดเครื่องมือที่เปิดใช้งานการเรียนรู้ของเครื่องในอุปกรณ์โดยช่วยให้นักพัฒนาเรียกใช้โมเดลของตนบนอุปกรณ์เคลื่อนที่ อุปกรณ์ฝังตัว และอุปกรณ์ Edge
คุณสมบัติหลัก
- ปรับให้เหมาะสมสำหรับการเรียนรู้ของเครื่องในอุปกรณ์ โดยจัดการกับข้อจำกัดหลัก 5 ประการ: เวลาแฝง (ไม่มีการไปกลับที่เซิร์ฟเวอร์) ความเป็นส่วนตัว (ไม่มีข้อมูลส่วนบุคคลออกจากอุปกรณ์) การเชื่อมต่อ (ไม่จำเป็นต้องเชื่อมต่ออินเทอร์เน็ต) ขนาด (รุ่นลดลงและ ขนาดไบนารี) และการใช้พลังงาน (การอนุมานที่มีประสิทธิภาพและการขาดการเชื่อมต่อเครือข่าย)
- รองรับหลายแพลตฟอร์ม ครอบคลุม อุปกรณ์ Android และ iOS , Linux แบบฝัง และ ไมโครคอนโทรลเลอร์
- รองรับภาษาที่หลากหลาย ซึ่งรวมถึง Java, Swift, Objective-C, C++ และ Python
- ประสิทธิภาพสูง พร้อม การเร่งด้วยฮาร์ดแวร์ และการปรับ รุ่นให้เหมาะสม
- ตัวอย่าง แบบ end-to-end สำหรับงานการเรียนรู้ของเครื่องทั่วไป เช่น การจัดประเภทรูปภาพ การตรวจจับวัตถุ การประเมินท่าทาง การตอบคำถาม การจัดประเภทข้อความ ฯลฯ ในหลายแพลตฟอร์ม
เวิร์กโฟลว์การพัฒนา
คำแนะนำต่อไปนี้จะอธิบายแต่ละขั้นตอนของเวิร์กโฟลว์และให้ลิงก์ไปยังคำแนะนำเพิ่มเติม:
1. สร้างโมเดล TensorFlow Lite
โมเดล TensorFlow Lite นำเสนอในรูปแบบพกพาที่มีประสิทธิภาพพิเศษที่เรียกว่า FlatBuffers (ระบุโดยนามสกุลไฟล์ . tflite ) สิ่งนี้ให้ข้อดีหลายประการเหนือรูปแบบโมเดลบัฟเฟอร์โปรโตคอลของ TensorFlow เช่น ขนาดที่ลดลง (รอยเท้าโค้ดขนาดเล็ก) และการอนุมานที่เร็วขึ้น (เข้าถึงข้อมูลโดยตรงโดยไม่ต้องแยกวิเคราะห์/แตกไฟล์เพิ่มเติม) ที่ทำให้ TensorFlow Lite ทำงานได้อย่างมีประสิทธิภาพบนอุปกรณ์ที่มีทรัพยากรในการประมวลผลและหน่วยความจำจำกัด .
โมเดล TensorFlow Lite สามารถเลือกรวม ข้อมูลเมตา ที่มีคำอธิบายแบบจำลองที่มนุษย์อ่านได้ และข้อมูลที่สามารถอ่านได้ด้วยเครื่องสำหรับการสร้างไปป์ไลน์ก่อนและหลังการประมวลผลโดยอัตโนมัติในระหว่างการอนุมานบนอุปกรณ์ อ้างถึง เพิ่มข้อมูลเมตา สำหรับรายละเอียดเพิ่มเติม
คุณสามารถสร้างโมเดล TensorFlow Lite ได้ด้วยวิธีต่อไปนี้:
ใช้รุ่น TensorFlow Lite ที่มีอยู่: อ้างถึง TensorFlow Lite Examples เพื่อเลือกรุ่นที่มีอยู่ โมเดลอาจมีหรือไม่มีข้อมูลเมตา
สร้างโมเดล TensorFlow Lite: ใช้ TensorFlow Lite Model Maker เพื่อสร้างโมเดลด้วยชุดข้อมูลที่คุณกำหนดเอง โดยค่าเริ่มต้น แบบจำลองทั้งหมดมีข้อมูลเมตา
แปลงโมเดล TensorFlow เป็นโมเดล TensorFlow Lite: ใช้ตัว แปลง TensorFlow Lite เพื่อแปลงโมเดล TensorFlow เป็นโมเดล TensorFlow Lite ในระหว่างการแปลง คุณสามารถใช้ การเพิ่มประสิทธิภาพ เช่น การ หาปริมาณ เพื่อลดขนาดโมเดลและเวลาแฝงโดยสูญเสียความแม่นยำน้อยที่สุดหรือไม่มีเลย โดยค่าเริ่มต้น แบบจำลองทั้งหมดไม่มีข้อมูลเมตา
2. เรียกใช้การอนุมาน
การอนุมาน หมายถึงกระบวนการดำเนินการโมเดล TensorFlow Lite บนอุปกรณ์เพื่อคาดการณ์ตามข้อมูลที่ป้อนเข้า คุณสามารถทำการอนุมานได้ด้วยวิธีต่อไปนี้ตามประเภทของโมเดล:
โมเดลที่ ไม่มี ข้อมูลเมตา : ใช้ TensorFlow Lite Interpreter API รองรับบนแพลตฟอร์มและภาษาที่หลากหลาย เช่น Java, Swift, C++, Objective-C และ Python
โมเดล ที่มี ข้อมูลเมตา : คุณสามารถใช้ API แบบสำเร็จรูปโดยใช้ TensorFlow Lite Task Library หรือสร้างไปป์ไลน์การอนุมานแบบกำหนดเองด้วย TensorFlow Lite Support Library บนอุปกรณ์ Android ผู้ใช้สามารถสร้างโค้ด Wrapper ได้โดยอัตโนมัติโดยใช้ Android Studio ML Model Binding หรือ TensorFlow Lite Code Generator รองรับเฉพาะบน Java (Android) ในขณะที่ Swift (iOS) และ C++ กำลังดำเนินการอยู่
บนอุปกรณ์ Android และ iOS คุณสามารถปรับปรุงประสิทธิภาพได้โดยใช้การเร่งด้วยฮาร์ดแวร์ คุณสามารถใช้ GPU Delegate บนแพลตฟอร์มใดก็ได้บน Android คุณสามารถใช้ NNAPI Delegate (สำหรับอุปกรณ์ที่ใหม่กว่า) หรือ Hexagon Delegate (บนอุปกรณ์รุ่นเก่า) และบน iOS คุณสามารถใช้ Core ML Delegate หากต้องการเพิ่มการรองรับตัวเร่งฮาร์ดแวร์ใหม่ คุณสามารถ กำหนดผู้รับมอบสิทธิ์ของคุณเอง
เริ่ม
คุณสามารถดูคำแนะนำต่อไปนี้ตามอุปกรณ์เป้าหมายของคุณ:
Android และ iOS: สำรวจ Android Quickstart และ iOS Quickstart
Embedded Linux: สำรวจ Python Quickstart สำหรับอุปกรณ์ฝังตัว เช่น Raspberry Pi และ อุปกรณ์ Coral ที่มี Edge TPU หรือคำแนะนำในการสร้าง C++ สำหรับ ARM
ไมโครคอนโทรลเลอร์: สำรวจ ไลบรารี TensorFlow Lite สำหรับไมโครคอนโทรลเลอร์ สำหรับไมโครคอนโทรลเลอร์และ DSP ที่มีหน่วยความจำเพียงไม่กี่กิโลไบต์
ข้อจำกัดทางเทคนิค
โมเดล TensorFlow ทั้งหมด ไม่ สามารถแปลงเป็นรุ่น TensorFlow Lite ได้ โปรดดูที่ ความเข้ากันได้ของ Operator
ไม่รองรับการฝึกอบรมในอุปกรณ์ แต่อยู่ใน แผนงาน ของเรา