TensorFlow Lite עבור מיקרו-בקרים נועד להריץ מודלים של למידת מכונה על מיקרו-בקרים והתקנים אחרים עם רק כמה קילובייטים של זיכרון. זמן הריצה הליבה פשוט מתאים ל-16 KB ב- Arm Cortex M3 ויכול להריץ דגמים בסיסיים רבים. זה לא דורש תמיכה במערכת הפעלה, ספריות C או C++ סטנדרטיות, או הקצאת זיכרון דינמית.
מדוע מיקרו-בקרים חשובים
מיקרו-בקרים הם בדרך כלל התקני מחשוב קטנים, בעלי הספק נמוך, המוטמעים בתוך חומרה הדורשת חישוב בסיסי. על ידי הבאת למידת מכונה למיקרו-בקרים זעירים, נוכל להגביר את האינטליגנציה של מיליארדי מכשירים שבהם אנו משתמשים בחיינו, כולל מכשירי חשמל ביתיים ומכשירי האינטרנט של הדברים, מבלי להסתמך על חומרה יקרה או חיבורי אינטרנט אמינים, שלעתים קרובות נתון ברוחב פס ו אילוצי כוח והתוצאה היא חביון גבוה. זה גם יכול לעזור לשמור על הפרטיות, מכיוון שאף נתונים לא יוצאים מהמכשיר. דמיינו לעצמכם מכשירים חכמים שיכולים להתאים את עצמם לשגרת היומיום שלכם, חיישנים תעשייתיים חכמים שמבינים את ההבדל בין בעיות לתפעול רגיל, וצעצועים קסומים שיכולים לעזור לילדים ללמוד בדרכים מהנות ומענגות.
פלטפורמות נתמכות
TensorFlow Lite for Microcontrollers כתוב ב-C++ 17 ודורש פלטפורמת 32 סיביות. הוא נבדק בהרחבה עם מעבדים רבים המבוססים על ארכיטקטורת Arm Cortex-M Series , והועבר לארכיטקטורות אחרות כולל ESP32 . המסגרת זמינה כספריית Arduino. זה יכול גם ליצור פרויקטים עבור סביבות פיתוח כגון Mbed. זה קוד פתוח וניתן לכלול אותו בכל פרויקט C++ 17.
לוחות הפיתוח הבאים נתמכים:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- ערכת גילוי STM32F746
- Adafruit EdgeBadge
- ערכת Adafruit TensorFlow Lite עבור מיקרו-בקרים
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- אספרסיף ESP-EYE
- טרמינל Wio: ATSAMD51
- מועצת הפיתוח של Himax WE-I Plus EVB Endpoint AI
- פלטפורמת פיתוח תוכנה של Synopsys DesignWare ARC EM
- Sony Spresense
חקור את הדוגמאות
כל יישום לדוגמה נמצא ב- Github ויש לו קובץ README.md
המסביר כיצד ניתן לפרוס אותו לפלטפורמות הנתמכות שלו. לכמה דוגמאות יש גם הדרכות מקצה לקצה באמצעות פלטפורמה ספציפית, כפי שניתן להלן:
- Hello World - מדגים את היסודות המוחלטים של השימוש ב- TensorFlow Lite עבור מיקרו-בקרים
- מיקרו דיבור - לוכד אודיו עם מיקרופון כדי לזהות את המילים "כן" ו"לא"
- זיהוי אדם - לוכד נתוני מצלמה עם חיישן תמונה כדי לזהות נוכחות או היעדרות של אדם
זרימת עבודה
השלבים הבאים נדרשים כדי לפרוס ולהפעיל מודל TensorFlow על מיקרו-בקר:
- אימון דוגמנית :
- צור דגם TensorFlow קטן שיכול להתאים למכשיר היעד שלך ומכיל פעולות נתמכות .
- המר לדגם TensorFlow Lite באמצעות ממיר TensorFlow Lite .
- המר למערך C byte באמצעות כלים סטנדרטיים כדי לאחסן אותו בזיכרון תוכנית לקריאה בלבד במכשיר.
- הפעל מסקנות במכשיר באמצעות ספריית C++ ועבד את התוצאות.
מגבלות
TensorFlow Lite עבור מיקרו-בקרים מיועד לאילוצים הספציפיים של פיתוח מיקרו-בקרים. אם אתה עובד על מכשירים חזקים יותר (לדוגמה, מכשיר לינוקס משובץ כמו Raspberry Pi), ייתכן שיהיה קל יותר לשלב את המסגרת הסטנדרטית של TensorFlow Lite.
יש לקחת בחשבון את המגבלות הבאות:
- תמיכה בתת -קבוצה מוגבלת של פעולות TensorFlow
- תמיכה בקבוצה מוגבלת של מכשירים
- API ברמה נמוכה של C++ הדורש ניהול זיכרון ידני
- אימון במכשיר אינו נתמך
הצעדים הבאים
- התחל עם מיקרו-בקרים כדי לנסות את היישום לדוגמה וללמוד כיצד להשתמש ב-API.
- הבן את ספריית C++ כדי ללמוד כיצד להשתמש בספרייה בפרויקט משלך.
- בנה והמר מודלים כדי ללמוד עוד על הדרכה והמרת מודלים לפריסה במיקרו-בקרים.