最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.ARMNEONConfig

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

説明

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

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

作成

説明

deepLearningCfg = coder.DeepLearningConfig('arm-compute') は、ARM Compute Library を使用して深層学習のコード生成用の coder.ARMNEONConfig オブジェクトを作成します。

プロパティ

すべて展開する

ターゲット ハードウェアで使用される ARM Compute Library のバージョン。文字ベクトルまたは string スカラーとして指定します。ArmComputeVersion'19.02' よりも新しいバージョンに設定すると、ArmComputeVersion'19.02' に設定されます。

ターゲット ハードウェアでサポートされる ARM アーキテクチャ。文字ベクトルまたは string スカラーとして指定します。ターゲット ハードウェアの ARM Compute Library のアーキテクチャと同じアーキテクチャを指定しなければなりません。

次の場合は ARMArchitecture の指定が必須です。

  • ハードウェア サポート パッケージを使用していない (コード生成構成オブジェクトの Hardware プロパティが空)。

  • ハードウェア サポート パッケージを使用しているがコード生成しか行わない。

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

すべて折りたたむ

関数 coder.loadDeepLearningNetwork を使用して squeezenet オブジェクトを読み込むエントリポイント関数 squeezenet を作成します。

function out = squeezenet_predict(in)

persistent mynet;
if isempty(mynet)
    mynet = coder.loadDeepLearningNetwork('squeezenet', 'squeezenet');
end

out = predict(mynet,in);

スタティック ライブラリ生成用の 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 = '19.02';
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++ コード、ヘッダー、畳み込みニューラル ネットワーク (CNN) の C++ クラス定義が含まれるソース ファイル、重み、バイアス ファイルが含まれます。

R2019a で導入