analyzeNetworkForCodegen
説明
___ = analyzeNetworkForCodegen(___,
は、1 つ以上の Name,Value
)Name,Value
ペアの引数で指定されたオプションを使用して、コード生成のために深層学習ネットワーク net
を解析します。
例
ネットワークのコード生成互換性のチェック
この例では次を使用します。
- Deep Learning ToolboxDeep Learning Toolbox
- Deep Learning Toolbox Model for MobileNet-v2 NetworkDeep Learning Toolbox Model for MobileNet-v2 Network
- GPU Coder Interface for Deep LearningGPU Coder Interface for Deep Learning
- MATLAB Coder Interface for Deep LearningMATLAB Coder Interface for Deep Learning
この例では、関数 analyzeNetworkForCodegen
を使用して、MobileNet-v2 ネットワークのコード生成互換性をチェックする方法を示します。
関数 analyzeNetworkForCodegen
を使用して、CPU および GPU のさまざまな深層学習ライブラリ ターゲットを対象とする場合について、ネットワークと層の互換性の問題を判定できます。
MobileNet-v2 サポート パッケージのダウンロード
この例では、"Deep Learning Toolbox™ Model for MobileNet-v2 Network" サポート パッケージから入手できる MobileNet-v2 の事前学習済みバージョンを使用します。
MobileNet-v2 は、深さが 53 層の畳み込みニューラル ネットワークです。ネットワークの事前学習済みバージョンは、ImageNet データベースからの 100 万個を超えるイメージで学習させています。事前学習済みネットワークのイメージ入力サイズは 224×224 で、イメージを 1000 個のオブジェクト カテゴリ (キーボード、マウス、鉛筆、多くの動物など) に分類できます。
mobilenetv2
ans = DAGNetwork with properties: Layers: [154x1 nnet.cnn.layer.Layer] Connections: [163x2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_Logits'}
Deep Learning Toolbox Model for MobileNet-v2 Network サポート パッケージがインストールされていない場合、この関数は、必要なサポート パッケージへのリンクをアドオン エクスプローラーに表示します。サポート パッケージをインストールするには、リンクをクリックして、[インストール] をクリックします。
コード生成のためのネットワークの解析
解析するターゲット ライブラリを指定し、mobilenetv2
に対して関数 analyzeNetworkForCodegen
を実行します。関数 analyzeNetworkForCodegen
には、"MATLAB® Coder™ Interface for Deep Learning" および "GPU Coder™ Interface for Deep Learning" サポート パッケージが必要です。必要なサポート パッケージをインストールするには、アドオン エクスプローラーを使用します。
targetLibraries = ["cudnn","tensorrt","arm-compute-mali",... "arm-compute","mkldnn","none","cmsis-nn"]; S = analyzeNetworkForCodegen(mobilenetv2,TargetLibrary = targetLibraries);
Supported LayerDiagnostics _________ _________________________________________________________________________________________________________________________________________________________________________________ cudnn "Yes" "" tensorrt "Yes" "" arm-compute-mali "Yes" "" arm-compute "Yes" "" mkldnn "Yes" "" none "Yes" "" cmsis-nn "No" "Found 6 unsupported layer type(s). View incompatible layer types."
CMSIS-NN ターゲットの解析結果にアクセスするには、次のコマンドを使用します。
disp(S(7))
TargetLibrary: 'cmsis-nn' Supported: 0 NetworkDiagnostics: [0x0 table] LayerDiagnostics: [150x3 table] IncompatibleLayerTypes: [6x1 string]
CMSIS-NN コード生成でサポートされていない層タイプを表示します。
S(7).IncompatibleLayerTypes
ans = 6x1 string
"AdditionLayer"
"BatchNormalizationLayer"
"ClippedReLULayer"
"Convolution2DLayer"
"GlobalAveragePooling2DLayer"
"GroupedConvolution2DLayer"
入力引数
net
— 解析する深層学習ネットワーク
SeriesNetwork
オブジェクト | DAGNetwork
オブジェクト | dlnetwork
オブジェクト
コード生成のために解析するネットワーク。ネットワークは、カスタム学習ループまたはカスタム枝刈りループのための SeriesNetwork
オブジェクト、DAGNetwork
オブジェクト、または dlnetwork
オブジェクトにすることができます。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: resultStruct = analyzeNetworkForCodegen(mobilenetv2, TargetLibrary = ["mkldnn", "none"]);
TargetLibrary
— コード生成ターゲット ライブラリ
文字ベクトル | string スカラー
深層学習コード生成用のターゲット ライブラリ。次の表のいずれかの値を指定します。
値 | 説明 |
---|---|
"none" | サードパーティ ライブラリを使用しないコードの生成用。 |
"arm-compute" | ARM® Compute Library を使用するコードの生成用。 |
"mkldnn" | Intel® Math Kernel Library for Deep Neural Networks (Intel MKL-DNN) を使用するコードの生成用。 |
"cmsis-nn" | Common Microcontroller Software Interface Standard - Neural Network (CMSIS-NN) ライブラリ。 MATLAB® Coder™ Interface for Deep Learning が必要です。 |
"cudnn" | CUDA® Deep Neural Network library (cuDNN) を使用するコードの生成用。 このオプションには GPU Coder™ が必要です。 |
"tensorrt" | NVIDIA® TensorRT (高性能な深層学習用推論オプティマイザーおよびランタイム ライブラリ) を利用するコードの生成用。 このオプションには GPU Coder が必要です。 |
Quiet
— レポート表示の抑制
false
(既定値) | true
レポートの表示を抑制するためのスカラーの boolean
値。既定では、関数は詳細モードで解析を表示します。
出力引数
result
— 解析出力
構造体配列
深層学習ネットワークのコード生成互換性チェックの結果。1
行 N
列の構造体として返されます。ここで、N
はチェックするターゲット ライブラリの数です。
バージョン履歴
R2022b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)