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

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

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

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

پلتفرم های پشتیبانی شده

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

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

نمونه ها را بررسی کنید

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

جریان کار

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

  1. آموزش یک مدل :
    • یک مدل TensorFlow کوچک ایجاد کنید که می تواند با دستگاه مورد نظر شما متناسب باشد و شامل عملیات پشتیبانی شده باشد.
    • با استفاده از مبدل TensorFlow Lite به یک مدل TensorFlow Lite تبدیل کنید .
    • با استفاده از ابزارهای استاندارد به آرایه بایت C تبدیل کنید تا آن را در حافظه برنامه فقط خواندنی روی دستگاه ذخیره کنید.
  2. استنتاج را روی دستگاه با استفاده از کتابخانه C++ اجرا کنید و نتایج را پردازش کنید.

محدودیت ها

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

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

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

مراحل بعدی