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

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

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

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

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

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
  • پشتیبانی از مجموعه محدودی از دستگاه ها
  • سطح پایین C ++ API که به مدیریت حافظه دستی نیاز دارد
  • آموزش دستگاه پشتیبانی نمی شود

مراحل بعدی