TensorFlow Lite برای میکروکنترلرها

TensorFlow Lite برای میکروکنترلرها برای اجرای مدلهای یادگیری ماشین روی میکروکنترلرها و سایر دستگاهها با تنها چند کیلوبایت حافظه طراحی شده است. زمان اجرای اصلی فقط 16 کیلوبایت بر روی Arm Cortex M3 متناسب است و می تواند بسیاری از مدل های اصلی را اجرا کند. نیازی به پشتیبانی سیستم عامل ، کتابخانه های استاندارد C یا C ++ یا تخصیص حافظه پویا ندارد.

چرا میکروکنترلرها مهم هستند

میکروکنترلرها معمولاً دستگاههای محاسباتی کوچک و کم توان هستند که در سخت افزاری تعبیه شده اند که نیاز به محاسبات اولیه دارد. با آوردن یادگیری ماشینی به میکروکنترلرهای کوچک ، می توانیم میلیاردها دستگاهی را که در زندگی خود استفاده می کنیم ، از جمله لوازم خانگی و وسایل اینترنت اشیاء ، بدون اتکا به سخت افزار گران قیمت یا اتصالات اینترنتی قابل اعتماد ، که اغلب تحت پهنای باند و پهنای باند هستند ، افزایش دهیم. محدودیت های قدرت و منجر به تأخیر زیاد می شود. این نیز می تواند به حفظ حریم خصوصی کمک کند ، زیرا هیچ داده ای از دستگاه خارج نمی شود. وسایل هوشمندی را تصور کنید که می توانند با کارهای روزمره شما سازگار شوند ، حسگرهای صنعتی هوشمندی که تفاوت بین مشکلات و عملکرد عادی را درک می کنند و اسباب بازی های جادویی که می توانند به کودکان در یادگیری سرگرم کننده و لذت بخش کمک کنند.

سیستم عامل های پشتیبانی شده

TensorFlow Lite برای میکروکنترلرها به زبان C ++ 11 نوشته شده است و به یک پلتفرم 32 بیتی نیاز دارد. این به طور گسترده با بسیاری از پردازنده های مبتنی بر آزمایش شده و ARM Cortex-M سری معماری، و به معماری دیگر از جمله منتقل شده است ESP32 . این چارچوب به عنوان یک کتابخانه آردوینو در دسترس است. همچنین می تواند پروژه هایی را برای محیط های توسعه ای مانند Mbed ایجاد کند. این منبع باز است و می تواند در هر پروژه C ++ 11 گنجانده شود.

تخته های توسعه زیر پشتیبانی می شوند:

نمونه ها را کاوش کنید

هر نرم افزار به عنوان مثال در گیتهاب است و README.md فایل است که توضیح می دهد که چگونه می توان آن را به سیستم عامل های پشتیبانی آن مستقر شده اند. برخی از نمونه ها همچنین دارای آموزش های انتهایی به پایان با استفاده از یک پلت فرم خاص هستند ، همانطور که در زیر آورده شده است:

جریان کار

مراحل زیر برای استقرار و اجرای مدل TensorFlow روی میکروکنترلر لازم است:

  1. آموزش یک مدل:
  2. استنتاج اجرا بر روی دستگاه با استفاده از کتابخانه C ++ و پردازش نتایج.

محدودیت ها

TensorFlow Lite برای میکروکنترلرها برای محدودیت های خاص توسعه میکروکنترلرها طراحی شده است. اگر روی دستگاه های قوی تری کار می کنید (برای مثال ، یک دستگاه لینوکس تعبیه شده مانند Raspberry Pi) ، ادغام چارچوب استاندارد TensorFlow Lite ممکن است آسان تر باشد.

محدودیت های زیر باید در نظر گرفته شود:

  • پشتیبانی برای یک زیر مجموعه محدود از عملیات TensorFlow
  • پشتیبانی از مجموعه ای محدود از دستگاه ها
  • API سطح پایین C ++ که نیاز به مدیریت حافظه دستی دارد
  • آموزش روی دستگاه پشتیبانی نمی شود

مراحل بعدی