コード生成でサポートされているネットワークとレイヤー
MATLAB® Coder™ では、dlnetwork
(Deep Learning Toolbox) ネットワーク、系列ネットワーク、および有向非循環グラフ (DAG) ネットワークのコード生成がサポートされています。サポートされている深層学習ネットワーク、層、およびクラスを使用する任意の学習済みのニューラル ネットワークのコードを生成できます。
サポートされている事前学習済みネットワーク
これらの事前学習済みネットワークは Deep Learning Toolbox™ で利用でき、コード生成をサポートしています。imagePretrainedNetwork
(Deep Learning Toolbox)関数を使用して、コード生成用に dlnetwork
(Deep Learning Toolbox) オブジェクトとしてこれらの事前学習済みニューラル ネットワークを読み込むことができます。コード生成では、imagePretrainedNetwork
関数の名前と値の引数 Weights
を "none"
に設定することはサポートされていないことに注意してください。たとえば、次のコードを使用して、事前学習済みの GoogLeNet ニューラル ネットワークを読み込みます。
net = imagePretrainedNetwork("googlenet")
ネットワークが特定の深層学習ライブラリのコード生成と互換性があるかどうかを analyzeNetworkForCodegen
を使用して確認できます。以下に例を示します。
result = analyzeNetworkForCodegen(imagePretrainedNetwork("googlenet"),TargetLibrary='none')
imagePretrainedNetwork のモデル名引数 | 汎用 C/C++ | Intel® MKL-DNN および ARM® Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | |
| ![]() | |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| メモ ARM Compute Library は | |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
サポートされている層
表に指定されているターゲット深層学習ライブラリについて、次の層がコード生成でサポートされています。
メモ
次の表で、情報アイコン は、ネットワーク、層、またはクラスのコード生成機能が制限されていることを示しています。エラーや予期しない動作が発生する可能性があります。詳細については、該当するネットワーク、層、またはクラスのページの「拡張機能」セクションを参照してください。
入力層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
畳み込み層と全結合層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | |
| ![]() | ![]() |
| ![]() | ![]() |
| メモ グループの数がフィルター チャネルの数と等しい場合、チャネル方向の畳み込み用の汎用 C/C++ コードを生成できます。 | ![]() |
| ![]() | |
| ![]() |
シーケンス層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| ![]() | ![]() |
活性化層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
preluLayer (Deep Learning Toolbox) | ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
正規化層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
ユーティリティ層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | |
| ![]() | |
| ![]() | |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() |
サイズ変更層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
プーリング層と逆プーリング層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
adaptiveAveragePooling2dLayer (Deep Learning Toolbox) | ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| メモ ARM Compute Library は |
結合層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
トランスフォーマー層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | |
| ![]() | |
| ![]() | |
| ![]() | |
| ![]() | |
| ![]() |
コンピューター ビジョンおよびイメージ処理層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
カスタム層
カスタム Keras 層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
カスタム ONNX 層
層 | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
サポートされているクラス
クラス | 汎用 C/C++ | Intel MKL-DNN および ARM Compute Library |
---|---|---|
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() | ![]() |
| ![]() |
参考
imagePretrainedNetwork
(Deep Learning Toolbox) | analyzeNetworkForCodegen
トピック
- 事前学習済みの深層ニューラル ネットワーク (Deep Learning Toolbox)
- 深層学習層の一覧 (Deep Learning Toolbox)
- 畳み込みニューラル ネットワークについて (Deep Learning Toolbox)
- MATLAB Coder を使用した深層学習コード生成のワークフロー