メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

cnncodegen

R2026a

ARM Mali GPU をターゲットとする深層学習ネットワークのコードの生成

説明

cnncodegen(net,'targetlib','arm-compute-mali') は、Mali GPU 用の ARM® Compute Library を使用して、指定されたネットワーク オブジェクトの C++ コードを生成します。

GPU Coder™ 製品と GPU Coder Interface for Deep Learning が必要です。

cnncodegen(net,'targetlib','arm-compute-mali',targetparams) は、Mali GPU 用の ARM Compute Library と追加のコード生成オプションを使用して、指定されたネットワーク オブジェクトの C++ コードを生成します。

例

例

すべて折りたたむ

cnncodegen を使用して、ARM Mali グラフィックス プロセッサに展開する事前学習済みのネットワーク用の C++ コードを生成します。

関数 googlenet (Deep Learning Toolbox) を使用して事前学習済みの GoogLeNet モデルを取得します。この関数には Deep Learning Toolbox™ Model for GoogLeNet Network が必要です。このサポート パッケージをまだインストールしていない場合は、この関数によりダウンロード リンクが提供されます。あるいは、https://www.mathworks.com/matlabcentral/fileexchange/64456-deep-learning-toolbox-model-for-googlenet-networkを参照してください。

net = googlenet;

cnncodegen を使用して、'targetlib' を 'arm-compute-mali' に設定してコードを生成します。既定では、コード ジェネレーターは ARM のバージョン '19.05' をターゲットにします。別のバージョンの Compute Library をターゲットにするには、'ArmComputeVersion' パラメーターを使用します。

cnncodegen(net,'targetlib','arm-compute-mali'...
,'targetparams',struct('ArmComputeVersion','19.02'));
------------------------------------------------------------------------
Compilation suppressed: generating code only.
------------------------------------------------------------------------
### Codegen Successfully Generated for arm device

コード ジェネレーターは .cpp とヘッダー ファイルを '/pwd/codegen' フォルダーに生成します。DAG ネットワークは CnnMain と呼ばれる C++ クラスとして生成され、87 層のクラスの配列を含んでいます。コード ジェネレーターは、畳み込み層とバッチ正規化層のレイヤー フュージョン最適化で層の数を減らします。このクラスの setup() メソッドはハンドルを設定し、各層のオブジェクトにリソースを割り当てます。predict() メソッドはネットワークで 87 層それぞれの予測を呼び出します。cleanup() メソッドは、各層のオブジェクトに割り当てられたすべてのメモリとシステム リソースを解放します。ネットワークの畳み込み層に対するすべてのバイナリの重み (cnn_**_w) とバイアス ファイル (cnn_**_b) は codegen フォルダーに保存されます。

ライブラリをビルドするには、生成されたコードを ARM ターゲット プラットフォームに移動し、生成された makefile cnnbuild_rtw.mk を使用します。

入力引数

すべて折りたたむ

事前学習済みの SeriesNetwork または DAGNetwork オブジェクト。

メモ

cnncodegen は dlnetwork オブジェクトはサポートしていません。

ARM Compute Library の固有のパラメーター。次の表に示すフィールドを含む 1 行 1 列の構造体として指定します。

フィールド

説明

ArmComputeVersion

ターゲット ハードウェアの ARM Compute Library のバージョン。'19.02' または '19.05' として指定します。既定値は '19.05' です。ArmComputeVersion を '19.05' よりも新しいバージョンに設定すると、ArmComputeVersion は '19.05' に設定されます。

バージョン履歴

R2017b で導入

すべて展開する