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 量子化 〇 ✕ ✕ 〇 トレーニング後のダイナミックレンジ量子化 〇 〇 ✕ ✕ トレーニング後の整数量子化 〇 〇 〇 ✕ 量子化認識トレーニング 〇 〇 〇 ✕ ============================== ==== ===== ========= ========