ハイ
imx95-a1-19x19-lpddr5-evk NPUでlabel_image.pyサンプルを実行しようとしています。しかし、どのノードもNPUに委譲されていません。
eIQ Neutronコンバータを使用して変換してみました。
\nxp\eIQ_Toolkit_v1.16.0\bin\Neutron-コンバータ\MCU_SDK_25.06.00+Linux_6.12.20_2.0.0>Neutron-コンバータ
変換されたモデルを実行すると、ランダムで不正確な予測のみが得られます。
私が何か間違ったことをしているのでしょうか、それとも 6.12 Neutron コンバータがモデルを破損しているのでしょうか?
Linux 6.6.36でも同じ方法を試しましたが、完璧に動作しました。
こんにちは@eirgut !
社内チームと話し合った結果、最新の BSP リリースにいくつかの問題があることが判明しました。
i.MX95 ではシリコンの変更が継続的に行われているため、一部の機能は以前のシリコン リビジョンと互換性がない可能性があります。
皆様のご理解とご協力に感謝申し上げます。今後の BSP アップデートとシリコン バージョンの発表にご注目ください。
よろしくお願いします、
チャビラ
こんにちは@Chavira
お返事ありがとうございます!
Python スクリプトによると、次のコマンドを使用できるはずです:
$ python3 label_image.py --ext_delegate /usr/lib/libneutron_delegate.so両方のスクリプトを試してみましたが、どちらもノードをNPUに委任できませんでした。
また、Neutron コンバータを使用して自分で変換したもの (\nxp\eIQ_Toolkit_v1.16.0\bin\neutron-converter\MCU_SDK_25.06.00+Linux_6.12.20_2.0.0>neutron-converter)
npu 上で実行されますが、ランダム変数を与えるだけのようです:
(事前変換されたモデルをCPUで実行すると、正しく予測されます)
MCU_SDK_25.06.00+Linux_6.12.20_2.0.0 コンバーターがモデルを破損するようです。
こんにちは@eirgut !
NXP サポートにお問い合わせいただきありがとうございます。
弊社の機械学習ユーザーガイドによると、使用しているコマンドが間違っているようです。
i.MX 95 上の Neutron Delegate を使用して NPU ハードウェアで高速化されたモデルを実行するには、次のコマンドを使用してください。
$ python3 label_image.py --ext_delegate /usr/lib/libneutron_delegate.so
出力は次のようになります。
Loading external delegate from /usr/lib/libneutron_delegate.so with args: {}
INFO: NeutronDelegate delegate: 29 nodes delegated out of 31 nodes with 1
partitions.
Warm-up time: 1.9 ms
Inference time: 1.7 ms
0.850980: military uniform
0.058824: Windsor tie
0.011765: bulletproof vest
0.007843: bow tie
0.007843: mortarboard
よろしくお願いいたします!
チャビラ