メインコンテンツ

coder.MklDNNConfig

Intel Math Kernel Library for Deep Neural Networks を使用して深層学習のコード生成を構成するパラメーター

説明

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

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

作成

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

プロパティ

すべて展開する

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

すべて折りたたむ

coder.loadDeepLearningNetwork 関数を使用して、ResNet-50 ネットワークを含む 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);

MEX コード生成用の coder.config 構成オブジェクトを作成します。

cfg = coder.config('mex');

ターゲット言語を C++ に設定します。

cfg.TargetLang = 'C++';

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

cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn');

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

codegen -args {ones(224,224,3,'single')} -config cfg resnet_predict

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

バージョン履歴

R2018b で導入