主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

MKL-DNNをを使をた,深层学习ネットワークのため生成

MATLAB®编码器™を使用して,英特尔®プロセッサを使用する組み込みプラットフォームをターゲットとする,既に学習済みの畳み込みニューラルネットワーク(CNN)からの予測のためのコードを生成できます。コードジェネレーターは英特尔数学内核库深层神经网络(MKL-DNN)を利用します。生成されたコードは,入力SeriesNetwork(深度学习工具箱)またはDAGNetwork(深度学习工具箱)ネットワークオブジェクトで指定されるアーキテクチャ,レイヤーおよびパラメーターを使用してCNNを実装します。

次のいずれかの方法を使用してコードを生成します。

  • MATLABコードからのC / c++コード生成のための標準codegenコマンド。

  • MATLAB编码器アプリ。

必要条件

  • 窗户®では,関数codegenを使用した深層学習ネットワークのコード生成には微软®Visual Studio®2015年以降が必要です。

  • 深度学习库的MATLAB编码器接口。このサポートパッケージをインストールするには,これをMATLABの[アドオン]メニューから選択します。

  • 用于深度神经网络的英特尔数学内核库(MKL-DNN)。

  • 深度学习工具箱。

  • コンパイラおよびライブラリの環境変数。詳細については,MATLAB编码器を使用した深層学習の前提条件を参照してください。

codegenを使用したコード生成

  1. MATLABで,以下を行うエントリポイント関数を記述します。

    以下に例を示します。

    函数= googlenet_predict(中)% # codegen%持久化对象mynet用于加载系列网络对象。在第一次调用这个函数时,将构造持久对象%设置。当后续调用该函数时,将重用相同的对象%调用预测输入,从而避免重新构造和重新加载%网络对象。持续的mynet;如果isempty(mynet) mynet = code . loaddeeplearningnetwork (“googlenet”);结束输入通过率=预测(mynet,,“MiniBatchSize”2);

  2. 墨西哥人用またはスタティックまたはダイナミックリンクライブラリ用のコード生成構成オブジェクトを作成します。MKL-DNNのコード生成パラメーターを指定するには,DeepLearningConfigプロパティを编码器。DeepLearningConfigをを用して作物成し编码器。MklDNNConfigオブジェクトに設定します。

    cfg = coder.config (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“mkldnn”);
  3. codegenコマンドを実行します。配置オプションを使用して,構成オブジェクトを指定します。arg游戏オプションを使用して,入力型を指定します。入力サイズは16の異なるイメージまたは観測値をもつGoogLeNetネットワークの入力層サイズに対応します。

    codegen配置cfggooglenet_predictarg游戏{(224224 3 16)的}报告

    メモ

    コード生成では半精度入力を指定できます。ただし,コードジェネレーターによって入力が単精度に型キャストされます。深度学习工具箱は,MATLABでのすべての計算に単精度浮動小数点演算を使用します。

生成コード

ネットワークは,層のクラスの配列を含むc++クラスとして生成されます。このクラスの设置()メソッドは,ハンドルを設定し,ネットワークオブジェクトの各層にメモリを割り当てます。预测()メソッドは,ネットワークの各層の予測を呼び出します。コードジェネレーターは関数googlenet_predict ()をMATLABエントリポイント関数に対応するgooglenet_predict.cppに作成します。この関数はネットワーク用に静的オブジェクトを構築し,设置メソッドおよび预测メソッドを起動します。

バイナリファイルは,ネットワークの全結合層および畳み込み層などの層に対してエクスポートされます。たとえば,ファイルcnn_googlenet_conv * _wおよびcnn_googlenet_conv * _bは,ネットワークの畳み込み層の重みパラメーターおよびバイアスパラメーターに対応します。

MATLAB编码器アプリを使用したコード生成

  1. 通常の手順に従い,エントリポイント関数の指定および入力型の指定を行います。MATLAB编码器アプリを使用したCコードの生成を参照してください。

  2. [コードの生成)ステップで,以下を実行。

    • [言語](c++)に設定します。

    • [詳細設定]をクリックします。[深層学習]ペインで,[ターゲットライブラリ][mkl-dnn]に設定します。

  3. コードを生成します。

参考

|||

関連するトピック