7.11. NPU

H7 dan RT1062 menjalankan inferensi pada CPU Cortex-M melalui TFLM dan CMSIS-NN. AE3 dan N6 menambahkan NPU khusus pada die yang sama -- pipeline tensor dalam silikon tetap yang menjalankan operator berat tanpa menggunakan CPU. Kedua NPU dalam jajaran produk OpenMV berasal dari vendor yang berbeda dan toolchain-nya berbeda, tetapi kamera mengekspos keduanya melalui API ml.Model yang sama. Yang berbeda adalah file pada disk dan runtime yang menelusurinya.

7.11.1. AE3 -- Arm Ethos-U55

AE3 dilengkapi NPU Arm Ethos-U55 pada die yang sama dengan inti aplikasi Cortex-M55. Vela adalah kompiler offline yang mempersiapkan model untuknya: Vela mengambil .tflite standar sebagai masukan dan menghasilkan .tflite keluaran yang subgraf-subgraf yang memenuhi syarat NPU-nya telah dilipat ke dalam operator Ethos-U kustom yang membawa perintah byte yang dijalankan NPU. Saat waktu inferensi, TFLM menelusuri file seperti biasa; operator Ethos-U mendistribusikan perintah byte-nya melalui driver Ethos-U, dan operator yang tidak dilipat oleh Vela kembali menggunakan CMSIS-NN pada M55.

7.11.2. N6 -- ST Neural-ART

N6 dilengkapi NPU Neural-ART dari ST dan menjalankan STAI -- runtime ST untuk itu -- sebagai pengganti TFLM. STEdgeAI adalah kompiler offline-nya: kompiler ini mengambil model sebagai masukan dan menghasilkan blob jaringan yang dapat direlokasi yang ditata untuk perangkat keras Neural-ART. STAI memuat blob dari ROMFS dan menelusurinya langsung pada NPU. Cakupan operator adalah apa pun yang didukung STEdgeAI untuk komponen tersebut.

7.11.3. Skrip yang sama, kamera yang berbeda

Kedua NPU mengekspos tensor masukan dan keluaran yang sama dengan parameter kuantisasi yang sama seperti yang dilakukan model yang dijalankan pada CPU. Skrip yang ditulis untuk satu kamera dapat berjalan di kamera lain dengan memuat file model yang disiapkan untuk NPU kamera tersebut. Ambang batas deteksi, penanganan ROI, dan pengkabelan pasca-prosesor -- keputusan di tingkat skrip -- tidak berubah.