پیاده سازی شبکه عصبی روی STM32 با STM32Cube.AI

راهکار های STM32 برای شبکه های عصبی مصنوعی

به لطف مجموعه جدیدی از راهکار های ارائه شده توسط هوش مصنوعی مبتنی تراشه های ST ، اکنون این امکان نگاشت و بهره برداری از شبکه های عصبی مصنوعی آموزش دیده را در میکروکنترلرهای STM32 فراهم شده است. STM32Cube.AI  یک بسته افزودنی برای پیکربندی و استفاده از ابزار تولید کد STM32CubeMX است که به طور گسترده مورد استفاده قرار می گیرد و هوش مصنوعی را در میکروکنترلرهای مبتنی بر STM32 Arm® Cortex®-M فعال می سازد. برای دسترسی به آن میتوانید STM32CubeMX (نسخه ۵٫۰٫۱ به بعد) را دانلود و نصب کنید.

نگاشت شبکه عصبی مصنوعی با استفاده از فناوری STM32Cube.AI ساده تر شده است

  • قابل تعامل با ابزارهای عمومی فناوری یادگیری عمیق است
  • سازگار با بسیاری از IDE ها و کامپایلر هاست
  • دارای سنسور و RTOS آگنیستیک
  • به چندین شبکه عصبی مصنوعی اجازه می دهد تا در یک MCU واحد STM32 اجرا شوند
  • پشتیبانی کامل از MCU های STM32 با قدرت بسیار کم

کارایی سیستم خود را بدین شکل افزایش دهید

می توانید برای تقویت کارایی پردازش سیگنال و افزایش بهره وری در برنامه STM32 از قدرت یادگیری عمیق استفاده کنید.

به جای نوشتن کد های دست نویس، شبکه های عصبی مصنوعی را بر روی STM32 (کد بهینه شده تولید شده به صورت خودکار) ایجاد و نقشه کشی کنید.

برای کسب اطلاعات بیشتر می توانید این مطلب را دانلود کنید.

۵ گام برای استقرار یک شبکه عصبی با استفاده از STM32Cube.AI

راه اندازی شبکه عصبی با STM32CubeAI

آیکون گرفتن داده ها STM32CubeAI

۱- گرفتن داده ها

مقدار کافی از داده های نمونه در مورد پدیده ای که مدل سازی شده است را ذخیره کنید. این کار به طور معمول شامل قرار دادن سنسور ها در نزدیکی یا بر روی شی که مورد بررسی قرار می گیرد است تا وضعیت و تغییرات آن در طول زمان ذخیره شود. نمونه هایی از پارامتر های فیزیکی بسته به کاربردی که شما دنبال آن هستید شامل شتاب، دما، صدا و بینایی است.

ST ابزار هایی را فراهم می کند که به ضبط و برچسب گذاری داده ها کمک می کند؛ از جمله برنامه تلفن هوشمند سنسور ST BLE که به عنوان ابزاری جهت کنترل از راه دور برای سیستم عامل باتری SensorTile عمل می کند. SensorTile مجهز به سنسورهای حرکتی و محیطی، میکروکنترلر، کانکتور SD Card و اتصال بلوتوث است.

پالایش و برچسب زنی داده هاSTM32CubeAI

۲- پالایش و برچسب زنی داده ها و ساخت توپولوژی ANN

ایجاد یک شبکه عصبی مصنوعی به داده های برچسب گزاری شده نیاز دارد که از سنسورها و پیش پردازش ها به دست آمده باشند. برای به اصطلاح ” یادگیری نظارت شده “، مجموعه داده ها باید مشخص شوند تا خروجی های مختلف به درستی طبقه بندی شوند. این مجموعه طبقه بندی شده ” حقیقت بنیادین ” است که برای آموزش ANN و سپس اعتبارسنجی آن استفاده می شود. توسعه دهنده باید در مورد نوع توپولوژی که ANN باید داشته باشد تصمیم بگیرد تا بتواند از داده ها بیاموزد و خروجی مفیدی را برای برنامه هدف فراهم کند. معمولاً توسعه دهندگان از چارچوب های یادگیری عمیق آماده برای معماری استفاده کرده و توپولوژی های شبکه عصبی مصنوعی را آموزش می دهند.

کمپانی ST با تعدادی از همکارانی که خدمات مهندسی شبکه عصبی مصنوعی را ارائه می دهند و از دانشمندان زبده ی حوزه ی داده و افرادی که معماری شبکه عصبی مصنوعی را پشتیبانی می کنند، همکاری می کند.

آیکون آموزش شبکه عصبی STM32CubeAI

۳- مدل ANN را آموزش دهید

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

ابزار STM32Cube.AI قابلیت همکاری ساده و کارآمد با ابزارهای آموزشی محبوب یادگیری عمیق را دارد که به طور گسترده توسط جامعه توسعه دهنده هوش مصنوعی مورد استفاده قرار می گیرد. خروجی این ابزارها می تواند مستقیماً به STM32Cube.AI وارد شود.

آیکون تبدیل شبکه عصبی به کد STM32CubeAI

۴- ANN را به کد بهینه سازی شده برای MCM STM32 تبدیل کنید

مرحله بعد، تعبیه ANN از پیش آموزش دیده در MCU ( کد بهینه سازی شده برای به حداقل رساندن پیچیدگی و نیازهای مربوط به حافظه) است. این قسمت به لطف ابزار نرم افزاری STM32Cube.AI بسیار آسان و شهودی است. STM32Cube.AI کاملاً در اکوسیستم توسعه نرم افزار STM32 به عنوان افزونه ای از ابزار پرکاربرد STM32CubeMX یکپارچه شده است. این قابلیت اجازه می دهد تا تبدیل سریع و اتوماتیک ANN های از قبل آموزش دیده به کدهای بهینه شده که می توانند بر روی MCU کار کنند، اتفاق بیافتد. این ابزار کاربران را از طریق انتخاب MCU مناسب راهنمایی می کند و بازخورد سریع در مورد عملکرد شبکه عصبی در MCU انتخابی را با اعتبار سنجی در رایانه شخصی شما و هدفون STM32 MCU.ارائه می دهد.

آیکون اجرا کد شبکه عصبی STM32CubeAI

۵- داده های جدید را با استفاده از ANN آموزش دیده پردازش و تجزیه و تحلیل کنید.

در آخر ، ANN تعبیه شده در MCU را در برنامه خود پیاده سازی کنید. در اینجا ST همچنین کار طراحان را آسان تر می کند تا به لطف بسته های نرم افزاری یکپارچه ، به سرعت برنامه های عملکردی، نمونه ی اولیه ی برنامه های ابتکاری خود را به سرعت راه اندازی کنند. این بسته ها نمونه هایی از نوع همتایی هستند که ترکیبی از درایورهای سطح پایین، کتابخانه های میان افزار و برنامه های نمونه جمع آوری شده در یک بسته نرم افزاری واحد را شامل می شوند. توسعه دهندگان می توانند به راحتی از این مثال ها شروع کرده و اصلاحاتی را انجام دهند تا با برنامه خاص مورد نظر آن ها متناسب باشد. دو نمونه ی فعال شده برای هوش مصنوعی عبارتند از بسته های عملکرد ضبط و پردازش صوتی و حرکت.

توسعه دهندگان همچنین می توانند در انجمن هوش مصنوعی مجمع STM32 پشتیبانی و تبادل نظر کنند.

بیشتر بخوانید:

منبع ST.com

درباره‌ی علی قلی زاده

همچنین ببینید

دوره جامع پردازش تصویر با TensorFlow و Keras

دوره جامع آموزش پردازش تصویر با TensorFlow و Keras

دوره آموزشی جامع پردازش تصویر با TensorFlow و Keras توسط اساتید سایت Learn OpenCV ارائه …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *