MCUXpresso SDKの例で既定のモデルを置き換えるためにカスタム・ビルド・モデルを導入する場合は、eIQ Neutron NPUハンズオン・ラボで説明されているように、変更をいくつか加える必要があります。
以下では、SDKの例に新しいカスタム・モデルを導入する際に発生する可能性のある一般的な問題とエラー・メッセージ、その解決方法について説明します。ここで取り上げられていない問題がある場合は、その問題を議論するための新しいスレッドを作成してください。
「‘'向けの組み込みオペコードが見つかりませんでした」
- 該当演算子をMODEL_GetOpsResolver関数(場所:source\model\model_name_ops_npu.cpp)に追加する必要があります。
- モデルが使用可能で、対象ファイルにコピー&貼り付け可能な演算子の一覧は、Neutron Converter Toolによってdump-header-fileオプション付きで自動生成されます。
- 演算子の数に合わせて、静的配列s_microOpResolverのサイズも必ず増やします。
「リゾルバのサイズが小さすぎます」
- 静的配列s_microOpResolverのサイズをMODEL_GetOpsResolver関数(場所:source\model\model_name_ops_npu.cpp)で、演算子の数に合わせて増やす必要があります。
「バッファのサイズ変更に失敗しました」
- スクラッチメモリバッファがモデルに対して小さすぎるため、増やす必要があります。
- メモリ・バッファのサイズは、モデル・データのヘッダ・ファイルにあるkTensorArenaSize変数で設定されます。
「モデルの準備中に内部Neutron NPUドライバのエラー281bが発生しました!」または「互換性のないNeutron NPUマイクロコードとドライバ・バージョンです!」
- モデルの変換に使用する eIQ Neutron コンバーター ツールのバージョンが、SDK プロジェクトで使用する NPU ライブラリと互換性のある正しいものであることを確認してください。
- eIQ Toolkit v1.10.0 は、MCX N 2.14.0 用の MCXUpresso SDK と併用して使用する必要があります。Neutron Converter Toolのバージョンは1.2.0+0X84d37e1fです
FRDM-MCXN947ボード上のカメラの色が不適切です
- 基板の裏面にあるソルダージャンパーSJ16、SJ26、およびSJ27を左側(破線側)に移動して、カメラ信号を正しく接続してください。
- この変更により、EZH D0とENET_TXCLKの信号が競合するようになるためボード上のイーサネット機能が無効になります。プロジェクトにカメラとイーサネットの両方の機能が必要な場合は、SJ16とSJ26を左側(破線側)に移動させ、P1_4(R58の左側のJ9ピン)から ワイヤーを接続します。次に、プロジェクトのpin_mux.cファイルで、EZH_Camera_D0にPORT1_PCR4を使用する代わりに、PORT3_PCR0 を使用します。
