تم تصميم TensorFlow Lite for Microcontrollers لتشغيل نماذج التعلم الآلي على المتحكمات الدقيقة والأجهزة الأخرى التي تحتوي على بضعة كيلوبايت فقط من الذاكرة. وقت التشغيل الأساسي يتناسب فقط مع 16 كيلو بايت على Arm Cortex M3 ويمكنه تشغيل العديد من الطرز الأساسية. لا يتطلب دعم نظام التشغيل ، أو أي مكتبات C أو C ++ قياسية ، أو تخصيص ذاكرة ديناميكي.
لماذا تعتبر الميكروكونترولر مهمة
عادة ما تكون المتحكمات الدقيقة عبارة عن أجهزة حوسبة صغيرة منخفضة الطاقة مدمجة داخل الأجهزة التي تتطلب عمليات حسابية أساسية. من خلال توفير التعلم الآلي للميكروكونترولر الصغيرة ، يمكننا تعزيز ذكاء مليارات الأجهزة التي نستخدمها في حياتنا ، بما في ذلك الأجهزة المنزلية وأجهزة إنترنت الأشياء ، دون الاعتماد على أجهزة باهظة الثمن أو اتصالات إنترنت موثوقة ، والتي غالبًا ما تخضع لعرض النطاق الترددي و قيود الطاقة ويؤدي إلى زمن انتقال مرتفع. يمكن أن يساعد هذا أيضًا في الحفاظ على الخصوصية ، نظرًا لعدم خروج أي بيانات من الجهاز. تخيل الأجهزة الذكية التي يمكن أن تتكيف مع روتينك اليومي ، وأجهزة الاستشعار الصناعية الذكية التي تفهم الفرق بين المشاكل والتشغيل العادي ، والألعاب السحرية التي يمكن أن تساعد الأطفال على التعلم بطرق ممتعة وممتعة.
المنصات المدعومة
تمت كتابة TensorFlow Lite for Microcontrollers بلغة C ++ 17 وتتطلب نظام أساسي 32 بت. تم اختباره على نطاق واسع مع العديد من المعالجات بناءً على بنية Arm Cortex-M Series ، وتم نقله إلى بنى أخرى بما في ذلك ESP32 . الإطار متاح كمكتبة Arduino. يمكنه أيضًا إنشاء مشاريع لبيئات التطوير مثل Mbed. إنه مفتوح المصدر ويمكن تضمينه في أي مشروع C ++ 17.
يتم دعم لوحات التطوير التالية:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- طقم اكتشاف STM32F746
- Adafruit EdgeBadge
- Adafruit TensorFlow Lite لمجموعة أدوات التحكم الدقيقة
- ملعب حلبة Adafruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- محطة Wio: ATSAMD51
- هيماكس WE-I Plus EVB Endpoint AI Development Board
- منصة تطوير البرمجيات Synopsys DesignWare ARC EM
- سوني سبريسينس
استكشف الأمثلة
كل تطبيق مثال موجود على Github ويحتوي على ملف README.md
يشرح كيفية نشره على الأنظمة الأساسية المدعومة. تحتوي بعض الأمثلة أيضًا على دروس تعليمية شاملة باستخدام نظام أساسي معين ، كما هو موضح أدناه:
- Hello World - يوضح الأساسيات المطلقة لاستخدام TensorFlow Lite لوحدات التحكم الدقيقة
- الكلام الدقيق - يلتقط الصوت بميكروفون لاكتشاف الكلمتين "نعم" و "لا"
- اكتشاف الشخص - تلتقط بيانات الكاميرا باستخدام مستشعر الصورة لاكتشاف وجود أو عدم وجود شخص
سير العمل
الخطوات التالية مطلوبة لنشر نموذج TensorFlow وتشغيله على متحكم دقيق:
- تدريب نموذج :
- قم بإنشاء نموذج TensorFlow صغير يمكن أن يلائم جهازك المستهدف ويحتوي على عمليات مدعومة .
- قم بالتحويل إلى نموذج TensorFlow Lite باستخدام محول TensorFlow Lite .
- قم بالتحويل إلى مصفوفة C بايت باستخدام أدوات قياسية لتخزينها في ذاكرة برنامج للقراءة فقط على الجهاز.
- قم بتشغيل الاستدلال على الجهاز باستخدام مكتبة C ++ ومعالجة النتائج.
محددات
تم تصميم TensorFlow Lite for Microcontrollers للقيود المحددة لتطوير وحدات التحكم الدقيقة. إذا كنت تعمل على أجهزة أكثر قوة (على سبيل المثال ، جهاز Linux مضمن مثل Raspberry Pi) ، فقد يكون من الأسهل دمج إطار عمل TensorFlow Lite القياسي.
يجب مراعاة القيود التالية:
- دعم مجموعة فرعية محدودة من عمليات TensorFlow
- دعم لمجموعة محدودة من الأجهزة
- تتطلب واجهة برمجة تطبيقات C ++ ذات المستوى المنخفض إدارة يدوية للذاكرة
- التدريب على الجهاز غير مدعوم
الخطوات التالية
- ابدأ مع ميكروكنترولر لتجربة التطبيق النموذجي وتعلم كيفية استخدام API.
- افهم مكتبة C ++ لتتعلم كيفية استخدام المكتبة في مشروعك الخاص.
- قم ببناء النماذج وتحويلها لمعرفة المزيد حول تدريب النماذج وتحويلها للنشر على وحدات التحكم الدقيقة.