7.11. NPU-k¶
A H7 és az RT1062 a következtetést egy Cortex-M CPU-n futtatja a TFLM és a CMSIS-NN segítségével. Az AE3 és az N6 ugyanazon a lapkán egy dedikált NPU-t ad hozzá – egy tenzor-folyamatot rögzített szilíciumban, amely a nehéz operátorokat a CPU foglalása nélkül futtatja. Az OpenMV kínálatában lévő két NPU különböző gyártóktól származik, és az eszközkészleteik eltérőek, de a kamera mindkettőt ugyanazon a ml.Model API-n keresztül teszi elérhetővé. Ami különbözik, az a lemezen lévő fájl és a futtatókörnyezet, amely végigjárja.
7.11.1. AE3 – Arm Ethos-U55¶
Az AE3 egy Arm Ethos-U55 NPU-t hordoz ugyanazon a lapkán, mint a Cortex-M55 alkalmazásmag. A Vela az offline fordító, amely előkészíti hozzá a modellt: a Vela bemenetként egy szabványos .tflite-ot fogad, és kimenetként egy olyan .tflite-ot bocsát ki, amelynek NPU-ra alkalmas részgráfjai egy egyéni Ethos-U operátorba lettek összevonva, amely az NPU által futtatott bájtparancsokat hordozza. Következtetéskor a TFLM normál módon járja végig a fájlt; az Ethos-U operátor a bájtparancsait az Ethos-U meghajtón keresztül osztja ki, és minden olyan operátor, amelyet a Vela nem vont össze, visszaesik a CMSIS-NN-re az M55-ön.
7.11.2. N6 – ST Neural-ART¶
Az N6 az ST Neural-ART NPU-ját hordozza, és a TFLM helyett a STAI-t futtatja – az ST hozzá tartozó futtatókörnyezetét. A STEdgeAI az offline fordító: bemenetként egy modellt fogad, és kimenetként egy áthelyezhető hálózati blobot (blob) bocsát ki, amely a Neural-ART hardverhez van elrendezve. A STAI betölti a blobot a ROMFS-ből, és közvetlenül az NPU-n járja végig. Az operátorok lefedettsége az, amit a STEdgeAI az adott alkatrészhez támogat.
7.11.3. Ugyanaz a szkript, más kamera¶
Mindkét NPU ugyanazokat a bemeneti és kimeneti tenzorokat teszi elérhetővé, ugyanazokkal a kvantálási paraméterekkel, mint egy CPU-n futó modell. Egy adott kamerára írt szkript egy másikon úgy fut, hogy betölti az adott kamera NPU-jához előkészített modellfájlt. Az észlelési küszöbértékek, a ROI kezelése és az utófeldolgozó bekötése – a szkript szintű döntések – nem változnak.