7.11. NPU-ovi¶
H7 i RT1062 pokreću zaključivanje na Cortex-M CPU-u kroz TFLM i CMSIS-NN. AE3 i N6 dodaju namjenski NPU na istom čipu – tenzorski niz u fiksnom siliciju koji izvodi teške operatore bez zauzimanja CPU-a. Dva NPU-a u OpenMV ponudi dolaze od različitih proizvođača i njihovi su lanci alata različiti, ali kamera oba izlaže kroz isti ml.Model API. Razlikuju se datoteka na disku i okruženje za izvođenje koje kroz nju prolazi.
7.11.1. AE3 – Arm Ethos-U55¶
AE3 nosi Arm Ethos-U55 NPU na istom čipu kao i Cortex-M55 aplikacijsku jezgru. Vela je izvanmrežni kompilator koji za njega priprema model: Vela uzima standardni .tflite na ulazu i emitira .tflite na izlazu čiji su podgrafovi prihvatljivi za NPU sklopljeni u prilagođeni Ethos-U operator koji nosi bajt-naredbe koje NPU izvodi. U trenutku zaključivanja TFLM normalno prolazi datoteku; Ethos-U operator usmjerava svoje bajt-naredbe kroz Ethos-U upravljački program, a svaki operator koji Vela nije sklopila vraća se na CMSIS-NN na M55.
7.11.2. N6 – ST Neural-ART¶
N6 nosi ST-ov Neural-ART NPU i pokreće STAI – ST-ovo okruženje za izvođenje za njega – umjesto TFLM-a. STEdgeAI je izvanmrežni kompilator: uzima model na ulazu i emitira premjestiv mrežni blob raspoređen za Neural-ART sklopovlje. STAI učitava blob iz ROMFS i izravno ga prolazi na NPU-u. Pokrivenost operatora je ono što STEdgeAI podržava za taj dio.
7.11.3. Ista skripta, druga kamera¶
Oba NPU-a izlažu iste ulazne i izlazne tenzore s istim parametrima kvantizacije kao što bi to činio i model pokrenut na CPU-u. Skripta napisana za jednu kameru izvodi se na drugoj učitavanjem datoteke modela pripremljene za NPU te kamere. Pragovi detekcije, rukovanje ROI-jem i povezivanje naknadne obrade – odluke na razini skripte – ne mijenjaju se.