Main Content

coder.CMSISNNConfig

Cortex-M ターゲット向けの CMSIS-NN ライブラリを使用した深層学習コード生成用の構成パラメーター

R2022a 以降

説明

coder.CMSISNNConfig オブジェクトには、codegen が深層ニューラル ネットワークの C コードの生成に使用する CMSIS-NN ライブラリおよび関連する ARM® Cortex-M ターゲットに固有のパラメーターが含まれています。

コード生成に coder.CMSISNNConfig オブジェクトを使用するには、そのオブジェクトを、codegen に渡すコード生成構成オブジェクトの DeepLearningConfig プロパティに割り当てます。

作成

関数 coder.DeepLearningConfig でターゲット ライブラリを 'cmsis-nn' と設定して、CMSIS-NN 構成オブジェクトを作成します。

プロパティ

すべて展開する

キャリブレーション データを含む MAT ファイルの場所。

量子化を実行する場合、関数 calibrate (Deep Learning Toolbox) はネットワークに学習させ、畳み込み層と全結合層における重みとバイアスのダイナミック レンジ、およびネットワークのすべての層における活性化のダイナミック レンジを収集します。最適化されたネットワークのコードを生成するには、関数 calibrate の結果を MAT ファイルに保存し、その MAT ファイルの場所をこのプロパティを使用してコード ジェネレーターに指定します。詳細については、深層学習ネットワークの int8 コードの生成を参照してください。

サポートされる層における推論の計算の精度。

ターゲット ライブラリの名前。文字ベクトルとして指定します。

すべて折りたたむ

関数 coder.loadDeepLearningNetwork を使用して MAT ファイル netFile からネットワーク オブジェクト net を読み込むエントリポイント関数 net_predict を作成します。その後、この関数はこのモデル オブジェクトを使用して予測を実行します。

function out = net_predict(netFile, in)
net = coder.loadDeepLearningNetwork(netFile);
out = predict(net,in);
end

C のスタティック ライブラリの生成用に coder.config 構成オブジェクトを作成します。

cfg = coder.config('lib');

coder.CMSISNNConfig 深層学習構成オブジェクトを作成し、キャリブレーション MAT ファイルの場所を指定します。このオブジェクトを cfg 構成オブジェクトの DeepLearningConfig プロパティに割り当てます。

dlcfg = coder.DeepLearningConfig('cmsis-nn');
dlcfg.CalibrationResultFile = 'calibration.mat'; 
cfg.DeepLearningConfig = dlcfg;

関数 codegen-config オプションを使用して cfg 構成オブジェクトを指定します。関数 codegen は、MATLAB® 関数入力のサイズ、クラス、実数/複素数を決定しなければなりません。-args オプションを使用して、エントリポイント関数への入力のサイズを指定します。

codegen -config cfg net_predict -args {coder.Constant('calibration.mat'), exampleinput}

codegen コマンドは生成されたすべてのファイルを codegen フォルダーに入れます。

バージョン履歴

R2022a で導入