メインコンテンツ

coder.ARMNEONConfig

ARM Compute Library を使用した深層学習コード生成用の構成パラメーター

説明

coder.ARMNEONConfig オブジェクトには、codegen がディープ ニューラル ネットワークの C++ コードの生成に使用する ARM® Compute Library とターゲット固有のパラメーターが含まれています。

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

作成

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

プロパティ

すべて展開する

ターゲット ハードウェアで使用される ARM Compute Library のバージョン。文字ベクトルまたは string スカラーとして指定します。詳細については、ARM Compute Library versionを参照してください。

ターゲット ハードウェアでサポートされる ARM アーキテクチャ。文字ベクトルまたは string スカラーとして指定します。詳細については、ARM Compute architectureを参照してください。

サポートされる層における推論の計算の精度を指定します。詳細については、Data type (ARM Compute)を参照してください。

キャリブレーション データを含む MAT ファイルの場所。このオプションは DataType'int8' に設定されている場合にのみ適用されます。詳細については、Calibration result file path (ARM Compute)を参照してください。

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

すべて折りたたむ

coder.loadDeepLearningNetwork 関数を使用して、SqueezeNet ネットワークを含む dlnetwork オブジェクトを読み込むエントリポイント関数 resnet_predict を作成します。詳細については、Code Generation for dlarrayを参照してください。

function out = resnet_predict(in)

dlIn = dlarray(in, 'SSCB');
persistent dlnet;
if isempty(dlnet)
    dlnet = imagePretrainedNetwork('resnet50');
end

dlOut = predict(dlnet, dlIn);
out = extractdata(dlOut);

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

cfg = coder.config('lib');

ターゲット言語を C++ に設定します。ソース コードの生成のみを行うように指定します。

cfg.TargetLang = 'C++';
cfg.GenCodeOnly=true;

coder.ARMNEONConfig 深層学習構成オブジェクトを作成します。このオブジェクトを cfg 構成オブジェクトの DeepLearningConfig プロパティに割り当てます。

dlcfg = coder.DeepLearningConfig('arm-compute');
dlcfg.ArmArchitecture = 'armv8';
dlcfg.ArmComputeVersion = '20.02.1';
cfg.DeepLearningConfig = dlcfg;

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

codegen -args {ones(227,227,3,'single')} -config cfg squeezenet_predict

codegen コマンドは生成されたすべてのファイルを codegen フォルダーに入れます。このフォルダーには、エントリポイント関数 squeezenet_predict.cpp の C++ コード、ヘッダー、ニューラル ネットワークの C++ クラス定義が含まれるソース ファイル、重み、バイアス ファイルが含まれます。

バージョン履歴

R2019a で導入