TensorFlow Lite لأجهزة التحكم الدقيقة

تم تصميم 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.

يتم دعم لوحات التطوير التالية:

استكشف الأمثلة

كل تطبيق مثال موجود على Github ويحتوي على ملف README.md يشرح كيفية نشره على الأنظمة الأساسية المدعومة. تحتوي بعض الأمثلة أيضًا على دروس تعليمية شاملة باستخدام نظام أساسي معين ، كما هو موضح أدناه:

سير العمل

الخطوات التالية مطلوبة لنشر نموذج TensorFlow وتشغيله على متحكم دقيق:

  1. تدريب نموذج :
    • قم بإنشاء نموذج TensorFlow صغير يمكن أن يلائم جهازك المستهدف ويحتوي على عمليات مدعومة .
    • قم بالتحويل إلى نموذج TensorFlow Lite باستخدام محول TensorFlow Lite .
    • قم بالتحويل إلى مصفوفة C بايت باستخدام أدوات قياسية لتخزينها في ذاكرة برنامج للقراءة فقط على الجهاز.
  2. قم بتشغيل الاستدلال على الجهاز باستخدام مكتبة C ++ ومعالجة النتائج.

محددات

تم تصميم TensorFlow Lite for Microcontrollers للقيود المحددة لتطوير وحدات التحكم الدقيقة. إذا كنت تعمل على أجهزة أكثر قوة (على سبيل المثال ، جهاز Linux مضمن مثل Raspberry Pi) ، فقد يكون من الأسهل دمج إطار عمل TensorFlow Lite القياسي.

يجب مراعاة القيود التالية:

  • دعم مجموعة فرعية محدودة من عمليات TensorFlow
  • دعم لمجموعة محدودة من الأجهزة
  • تتطلب واجهة برمجة تطبيقات C ++ ذات المستوى المنخفض إدارة يدوية للذاكرة
  • التدريب على الجهاز غير مدعوم

الخطوات التالية