深層学習ネットワク向けの汎用c / c++コドの生成
MATLAB®编码器™を使用して,既に学習済みのニューラルネットワークからの予測のための汎用Cまたはc++コードを生成できます。生成されたc / c++コドは,いずれのサ。生成されたコドは,入力SeriesNetwork
(深度学习工具箱)またはDAGNetwork
(深度学习工具箱)ネットワークオブジェクトで指定されるアーキテクチャ,レイヤー,およびパラメーターを使用してニューラルネットワークを実装します。コド生成でサポトされているネットワを参照してください。
次のいずれかの方法を使用してコドを生成します。
Matlabコドからのc / c++コド生成のための標準
codegen
コマンド。MATLAB编码器アプリ。
必要条件
窗户®では,関数
codegen
を使用した深層学習ネットワクのコド生成には微软®Visual Studio®またはMinGW®コンパ邮箱ラが必要です。深度学习库的MATLAB编码器接口。このサポトパッケジをeconンストルするには,これをmatlabの[アドオン]メニュから選択します。
深度学习工具箱™。
codegen
を使用したコド生成
Matlabで,以下を行うエントリポ源码ント関数を記述します。
関数
coder.loadDeepLearningNetwork
を使用してネットワクオブジェクトを構築し設定する。詳細にいては,コド生成のための事前学習済みネットワクの読み込みを参照してください。エントリポ邮箱ント関数の入力におけるネットワ邮箱クの
预测
(深度学习工具箱)メソッドを呼び出す。预测
メソッドでMiniBatchSize
を指定して,複数の入力。
次に例を示します。
函数Out = my_predict(in)% # codegen持久对象mynet用于加载系列网络对象。第一次调用此函数时,将构造持久对象并%设置。当该函数随后被调用时,将重用相同的对象%调用对输入的预测,从而避免重构和重新加载%网络对象。持续的mynet;如果isempty(mynet) mynet = code . loaddeeplearningnetwork (“myNetwork.mat”);结束输入传入率Out = predict(mynet,in,“MiniBatchSize”2);
関数
编码器。DeepLearningConfig
を使用して,汎用c / c++コドの生成用に設定された深層学習構成オブジェクトdlconfig
を作成します。Dlconfig =编码器。DeepLearningConfig (TargetLibrary =“没有”);
墨西哥人用またはスタティックまたはダイナミックリンクライブラリ用のコード生成構成オブジェクトを作成します。既定では,コドジェネレタは汎用cコドを生成します。汎用c++コドを生成するには,コド生成構成オブジェクトで
TargetLang
パラメタを“c++”
に設定します。DeepLearningConfig
パラメタを前に作成したオブジェクトdlconfig
に設定します。CFG = code .config(“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = dlconfig;
codegen
コマンドを実行します。配置
オプションを使用して,構成オブジェクトを指定します。arg游戏
オプションを使用して,入力型を指定します。codegen配置cfgmy_predictarg游戏{myInput}报告
メモ
コド生成では半精度入力を指定できます。ただし,コドジェネレタによって入力が単精度に型キャストされます。深度学习工具箱は,MATLABでのすべての計算に単精度浮動小数点演算を使用します。
MATLAB编码器アプリを使用したコド生成
通常の手順に従い、エントリポ以及ント関数の指定および入力型の指定を行います。MATLAB编码器アプリを使用したCコドの生成を参照してください。
[コドの生成]ステップで,以下を実行します。
[言語]を[C]または(c++)のいずれかに設定します。
[詳細設定]をクリックします。[深層学習]ペンで,[タゲットラブラリ]を
[なし]
に設定します。
コドを生成します。
参考
codegen
|编码器。DeepLearningConfig
|coder.loadDeepLearningNetwork