Google I/O הוא עטיפה! התעדכן בהפעלות של TensorFlow. צפה בהפעלות

TensorFlow Lite למיקרו-בקרים

TensorFlow Lite for Microcontrollers מיועד להריץ מודלים של למידת מכונה על בקרי מיקרו והתקנים אחרים עם כמה קילובייט של זיכרון בלבד. זמן ריצת הליבה מתאים רק ל- 16 KB על Arm Cortex M3 ויכול להריץ דגמים בסיסיים רבים. הוא אינו דורש תמיכה במערכת ההפעלה, כל ספריות C או C ++ סטנדרטיות או הקצאת זיכרון דינמית.

מדוע בקרי מיקרו חשובים

בקרי מיקרו הם בדרך כלל התקני מחשוב קטנים בעלי הספק נמוך המוטבעים בחומרה הדורשת חישוב בסיסי. על ידי הבאת למידת מכונה למיקרו -בקרים זעירים, אנו יכולים לשפר את האינטליגנציה של מיליארדי מכשירים בהם אנו משתמשים בחיינו, כולל מכשירי חשמל ביתיים ומכשירי אינטרנט של דברים, מבלי להסתמך על חומרה יקרה או חיבורי אינטרנט אמינים, שלרוב כפופים לרוחב פס אילוצי הספק ותוצאה של זמן אחזור גבוה. זה יכול גם לסייע בשמירה על הפרטיות, מכיוון שלא יוצאים נתונים מהמכשיר. דמיינו לכם מכשירים חכמים שיכולים להסתגל לשגרת היום שלכם, חיישנים תעשייתיים חכמים שמבינים את ההבדל בין בעיות ותפעול רגיל, וצעצועים קסומים שיכולים לעזור לילדים ללמוד בדרכים מהנות ומענגות.

פלטפורמות נתמכות

TensorFlow Lite עבור בקרי מיקרו כתוב ב- C ++ 11 ודורש פלטפורמה של 32 סיביות. זה נבדק באופן נרחב עם מעבדים רבים המבוססים על סדרת Arm Cortex-M האדריכלות, ואת כבר מועבר אל ארכיטקטורות אחרות כולל ESP32 . המסגרת זמינה כספריית Arduino. הוא יכול גם לייצר פרויקטים לסביבות פיתוח כגון Mbed. הוא קוד פתוח וניתן לכלול אותו בכל פרויקט C ++ 11.

לוחות הפיתוח הבאים נתמכים:

חקור את הדוגמאות

יישום כל הדוגמה היא על Github ויש לו README.md קובץ שמסביר איך זה יכול להתפרס הפלטפורמות הנתמכות שלה. בכמה דוגמאות יש גם הדרכות מקצה לקצה באמצעות פלטפורמה ספציפית, כפי שניתן להלן:

זרימת עבודה

השלבים הבאים נדרשים לפריסה והפעלה של דגם TensorFlow על מיקרו -בקר:

  1. רכבת מודל:
  2. מסקנה במכשיר מפעיל באמצעות C ++ ספרייה ולעבד את התוצאות.

מגבלות

TensorFlow Lite עבור בקרי מיקרו מיועד לאילוצים הספציפיים של פיתוח מיקרו -בקר. אם אתה עובד על מכשירים חזקים יותר (למשל, מכשיר לינוקס מוטמע כמו ה- Raspberry Pi), ייתכן שיהיה קל יותר לשלב את המסגרת הסטנדרטית של TensorFlow Lite.

יש לקחת בחשבון את המגבלות הבאות:

  • תמיכת משנה קטנה של פעולות TensorFlow
  • תמיכה בקבוצת מכשירים מוגבלת
  • ממשק C ++ ברמה נמוכה הדורש ניהול זיכרון ידני
  • אימון במכשיר אינו נתמך

הצעדים הבאים