7. 4. MCX N シリーズの紹介#
7.1. MCX搭載NPUについて#
7.1.1. Delegate APIとは?#
i.MX Machine Learning User's Guide の 3.2.3 NNAPI delegate、3.2.4 VX Delegate セクションにから、以下のように理解しています。
- NNAPI delegate
NNAPI は Android 向けで TFLite で使われる標準的な GPU/NPU を使うための仕組み
H/W が対応しているオペレーションでも、NNAPI 対応されていないと GPU/NPU を使えない
- VX delegate
NNAPI deledate 後継
i.MX 用 Yocto 向けで VeliSilicon 専用の delegator がある (/usr/bin/libvx_delegate.so)
eIQ Neutron N1-16 NPU
7.1.1.1. モデルタイプ別のデリゲート#
各アクセラレータは、特定のビット幅のデータを念頭に置いて設計されています。8 ビットの量子化演算のみをサポートするデリゲート(Hexagon デリゲートなど)に浮動小数点モデルを提供すると、すべての演算が拒否され、モデルは完全に CPU で実行されます。このようなことを避けるために、以下の表は、モデル型に基づいたデリゲートサポートの概要を示しています。
モデルタイプ GPU NNAPI Hexagon CoreML ============================== ==== ====== ======== ======== 単精度浮動小数点(32ビット) 〇 〇 ✕ 〇 トレーニング後の float16 量子化 〇 ✕ ✕ 〇 トレーニング後のダイナミックレンジ量子化 〇 〇 ✕ ✕ トレーニング後の整数量子化 〇 〇 〇 ✕ 量子化認識トレーニング 〇 〇 〇 ✕ ============================== ==== ===== ========= ========