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