7.11. NPUs

ה-H7 וה-RT1062 מריצים הסקה על מעבד Cortex-M דרך TFLM וCMSIS-NN. ה-AE3 וה-N6 מוסיפים NPU ייעודי על אותה שבבייה – צינור טנזור בסיליקון קבוע המריץ את האופרטורים הכבדים מבלי להעסיק את המעבד. שני ה-NPU במגוון המוצרים של OpenMV מגיעים מספקים שונים וערכות הכלים שלהם שונות, אך המצלמה חושפת את שניהם דרך אותו ממשק ml.Model. מה ששונה הוא הקובץ בדיסק וזמן הריצה העובר עליו.

7.11.1. AE3 – Arm Ethos-U55

ה-AE3 נושא NPU מסוג Arm Ethos-U55 על אותה שבבייה כמו ליבת היישום Cortex-M55. Vela הוא המהדר הלא-מקוון המכין עבורו מודל: Vela מקבל .tflite סטנדרטי בקלט ופולט .tflite בפלט שה-subgraphs הזכאים-NPU שלו קופלו לתוך אופרטור Ethos-U מותאם אישית הנושא את פקודות הבתים שה-NPU מריץ. בזמן ההסקה, TFLM עובר על הקובץ כרגיל; אופרטור ה-Ethos-U מנתב את פקודות הבתים שלו דרך מנהל ההתקן של Ethos-U, וכל אופרטור ש-Vela לא קיפל נסוג אל CMSIS-NN על ה-M55.

7.11.2. N6 – ST Neural-ART

ה-N6 נושא NPU מסוג Neural-ART של ST ומריץ STAI – זמן הריצה של ST עבורו – במקום TFLM. STEdgeAI הוא המהדר הלא-מקוון: הוא מקבל מודל בקלט ופולט בלוב רשת בר-מיקום הערוך עבור חומרת ה-Neural-ART. STAI טוען את הבלוב מROMFS ועובר עליו ישירות על ה-NPU. כיסוי האופרטורים הוא כל מה ש-STEdgeAI תומך בו עבור הרכיב.

7.11.3. אותו סקריפט, מצלמה שונה

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