Main Content

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

サポートされているネットワークと層

サポートされている事前学習済みのネットワーク

GPU Coder™ は、系列または有向非循環グラフ (DAG) 畳み込みニューラル ネットワーク (CNN または ConvNets) のコード生成をサポートしています。コード生成でサポートされている層を含む学習済みの畳み込みニューラル ネットワークについて、コードを生成できます。サポートされている層を参照してください。Deep Learning Toolbox™ を使用するか、以下の表に示されているいずれかの事前学習済みのネットワークを使用して、1 つの CPU、1 つの GPU、または複数の GPU 上で畳み込みニューラル ネットワークに学習させ、CUDA® コードを生成することができます。

ネットワークの名前説明cuDNNTensorRTARM® Compute Library for Mali GPU

AlexNet

AlexNet 畳み込みニューラル ネットワーク。事前学習済みの AlexNet モデルについては、alexnet (Deep Learning Toolbox) を参照してください。

構文 alexnet('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

Caffe ネットワーク

Caffe からの畳み込みニューラル ネットワーク モデル。Caffe からの事前学習済みのネットワークのインポートについては、importCaffeNetwork (Deep Learning Toolbox) を参照してください。

あり

あり

あり

DarkNet-19

DarkNet-19 畳み込みニューラル ネットワーク。詳細については、darknet19 (Deep Learning Toolbox) を参照してください。

構文 darknet19('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

DarkNet-53

DarkNet-53 畳み込みニューラル ネットワーク。詳細については、darknet53 (Deep Learning Toolbox) を参照してください。

構文 darknet53('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

DeepLab v3+

DeepLab v3+ 畳み込みニューラル ネットワーク。詳細については、deeplabv3plusLayers (Computer Vision Toolbox) を参照してください。

あり

あり

なし

DenseNet-201

DenseNet-201 畳み込みニューラル ネットワーク。事前学習済みの DenseNet-201 モデルについては、densenet201 (Deep Learning Toolbox) を参照してください。

構文 densenet201('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

EfficientNet-b0

EfficientNet-b0 畳み込みニューラル ネットワーク。事前学習済みの EfficientNet-b0 モデルについては、efficientnetb0 (Deep Learning Toolbox) を参照してください。

構文 efficientnetb0('Weights','none') はコード生成でサポートされていません。

ありありあり

GoogLeNet

GoogLeNet 畳み込みニューラル ネットワーク。事前学習済みの GoogLeNet モデルについては、googlenet (Deep Learning Toolbox) を参照してください。

構文 googlenet('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

Inception-ResNet-v2

Inception-ResNet-v2 畳み込みニューラル ネットワーク。事前学習済みの Inception-ResNet-v2 モデルについては、inceptionresnetv2 (Deep Learning Toolbox) を参照してください。

あり

あり

なし

Inception-v3

Inception-v3 畳み込みニューラル ネットワーク。事前学習済みの Inception-v3 モデルについては、inceptionv3 (Deep Learning Toolbox) を参照してください。

構文 inceptionv3('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

Mobilenet-v2

MobileNet-v2 畳み込みニューラル ネットワーク。事前学習済みの MobileNet-v2 モデルについては、mobilenetv2 (Deep Learning Toolbox) を参照してください。

構文 mobilenetv2('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

NASNet-Large

NASNet-Large 畳み込みニューラル ネットワーク。事前学習済みの NASNet-Large モデルについては、nasnetlarge (Deep Learning Toolbox) を参照してください。

あり

あり

なし

NASNet-Mobile

NASNet-Mobile 畳み込みニューラル ネットワーク。事前学習済みの NASNet-Mobile モデルについては、nasnetmobile (Deep Learning Toolbox) を参照してください。

あり

あり

なし

ResNet

ResNet-18、ResNet-50 および ResNet-101 畳み込みニューラル ネットワーク。事前学習済みの ResNet モデルについては、resnet50 (Deep Learning Toolbox)resnet18 (Deep Learning Toolbox) および resnet101 (Deep Learning Toolbox) を参照してください。

構文 resnetXX('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

SegNet

マルチクラスのピクセル単位セグメンテーション ネットワーク。詳細については、segnetLayers (Computer Vision Toolbox) を参照してください。

あり

あり

なし

SqueezeNet

小さい深層ニューラル ネットワーク。事前学習済みの SqueezeNet モデルについては、squeezenet (Deep Learning Toolbox) を参照してください。

構文 squeezenet('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

VGG-16

VGG-16 畳み込みニューラル ネットワーク。事前学習済みの VGG-16 モデルについては、vgg16 (Deep Learning Toolbox) を参照してください。

構文 vgg16('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

VGG-19

VGG-19 畳み込みニューラル ネットワーク。事前学習済みの VGG-19 モデルについては、vgg19 (Deep Learning Toolbox) を参照してください。

構文 vgg19('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

Xception

Xception 畳み込みニューラル ネットワーク。事前学習済みの Xception モデルについては、xception (Deep Learning Toolbox) を参照してください。

構文 xception('Weights','none') はコード生成でサポートされていません。

あり

あり

あり

YOLO v2

version 2 の畳み込みニューラル ネットワーク ベースのオブジェクト検出器を 1 回のみ確認します。詳細については、yolov2Layers (Computer Vision Toolbox) を参照してください。

あり

あり

あり

サポートされている層

以下の層は、表内で指定されたターゲット深層学習ライブラリについて、GPU Coder によるコード生成でサポートされています。

入力層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

imageInputLayer (Deep Learning Toolbox)

イメージ入力層は、ネットワークに 2 次元イメージを入力し、データ正規化を適用します。

コード生成では、関数ハンドルを使用して指定される 'Normalization' はサポートされません。

あり

あり

あり

sequenceInputLayer (Deep Learning Toolbox)

シーケンス入力層は、ネットワークにシーケンス データを入力します。

cuDNN ライブラリはベクトルおよび 2 次元イメージ シーケンスをサポートします。TensorRT ライブラリはベクトル入力シーケンスのみをサポートします。

ベクトル シーケンス入力の場合、特徴の数はコード生成時に定数でなければなりません。

イメージ シーケンス入力の場合、高さ、幅、およびチャネル数は、コード生成時に定数でなければなりません。

コード生成では、関数ハンドルを使用して指定される 'Normalization' はサポートされません。

あり

あり

なし

畳み込み層と全結合層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

convolution2dLayer (Deep Learning Toolbox)

2 次元畳み込み層は、入力にスライディング畳み込みフィルターを適用します。

あり

あり

あり

fullyConnectedLayer (Deep Learning Toolbox)

全結合層は、入力に重み行列を乗算し、バイアス ベクトルを加算します。

あり

あり

なし

groupedConvolution2dLayer (Deep Learning Toolbox)

グループ化された 2 次元畳み込み層は、入力チャネルをグループに分けて、スライディング畳み込みフィルターを適用します。チャネル方向に分離可能な (深さ方向に分離可能とも呼ばれる) 畳み込みには、グループ化された畳み込み層を使用します。

ARM Mali GPU のコード生成は、'channel-wise' として設定された NumGroups プロパティまたは 2 を超える値をもつ 2 次元のグループ化された畳み込み層でサポートされません。

あり

あり

あり

transposedConv2dLayer (Deep Learning Toolbox)

2 次元転置畳み込み層では特徴マップがアップサンプリングされます。

あり

あり

あり

シーケンス層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

bilstmLayer (Deep Learning Toolbox)

双方向 LSTM (BiLSTM) 層は、時系列データまたはシーケンス データのタイム ステップ間の双方向の長期的な依存関係を学習します。これらの依存関係は、各タイム ステップで時系列全体からネットワークに学習させる場合に役立ちます。

コード生成の場合、StateActivationFunction プロパティを 'tanh' に設定しなければなりません。

コード生成の場合、GateActivationFunction プロパティを 'sigmoid' に設定しなければなりません。

あり

あり

なし

flattenLayer (Deep Learning Toolbox)

フラット化層は、入力の空間次元を折りたたんでチャネルの次元にします。

あり

なし

なし

gruLayer (Deep Learning Toolbox)

GRU 層は、時系列データおよびシーケンス データのタイム ステップ間の依存関係を学習します。

コード生成では、'after-multiplication''recurrent-bias-after-multiplication' のリセット ゲート モードのみがサポートされます。

あり

あり

なし

lstmLayer (Deep Learning Toolbox)

LSTM 層は、時系列データおよびシーケンス データのタイム ステップ間の長期的な依存関係を学習します。

コード生成の場合、StateActivationFunction プロパティを 'tanh' に設定しなければなりません。

コード生成の場合、GateActivationFunction プロパティを 'sigmoid' に設定しなければなりません。

あり

あり

なし

sequenceFoldingLayer (Deep Learning Toolbox)

シーケンス折りたたみ層は、イメージ シーケンスのバッチをイメージのバッチに変換します。シーケンス折りたたみ層を使用して、畳み込み演算をイメージ シーケンスのタイム ステップごとに個別に実行します。

あり

なし

なし

sequenceInputLayer (Deep Learning Toolbox)

シーケンス入力層は、ネットワークにシーケンス データを入力します。

cuDNN ライブラリはベクトルおよび 2 次元イメージ シーケンスをサポートします。TensorRT ライブラリはベクトル入力シーケンスのみをサポートします。

ベクトル シーケンス入力の場合、特徴の数はコード生成時に定数でなければなりません。

イメージ シーケンス入力の場合、高さ、幅、およびチャネル数は、コード生成時に定数でなければなりません。

コード生成では、関数ハンドルを使用して指定される 'Normalization' はサポートされません。

あり

あり

なし

sequenceUnfoldingLayer (Deep Learning Toolbox)

シーケンス展開層は、シーケンスの折りたたみ後に入力データのシーケンス構造を復元します。

あり

なし

なし

wordEmbeddingLayer (Text Analytics Toolbox)

単語埋め込み層は、単語インデックスをベクトルにマッピングします。

あり

あり

なし

活性化層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

clippedReluLayer (Deep Learning Toolbox)

クリップされた ReLU 層は、しきい値処理を実行し、入力値がゼロよりも小さい場合はゼロに設定して、値が "クリップ上限" を超える場合はそのクリップ上限に設定します。

あり

あり

あり

eluLayer (Deep Learning Toolbox)

ELU 活性化層は、正の入力に対して恒等演算を実行し、負の入力に対して非線形となる指数演算を実行します。

あり

あり

なし

leakyReluLayer (Deep Learning Toolbox)

leaky ReLU 層は、しきい値処理を実行し、入力値がゼロよりも小さい場合は固定のスカラーによって乗算されます。

あり

あり

あり

reluLayer (Deep Learning Toolbox)

ReLU 層は、入力の各要素に対してしきい値処理を実行し、値がゼロよりも小さい場合はゼロに設定します。

あり

あり

あり

softplusLayer (Reinforcement Learning Toolbox)

SoftplusLayer は、出力が必ず常に正であるようにする softplus アクティベーション Y = log(1 + eX) を実装する深層ニューラル ネットワーク層です

.

あり

あり

なし

tanhLayer (Deep Learning Toolbox)

双曲線正接 (tanh) 活性化層は、層の入力に対して tanh 関数を適用します。

あり

あり

あり

正規化層、ドロップアウト層、およびトリミング層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

batchNormalizationLayer (Deep Learning Toolbox)

バッチ正規化層は、ミニバッチ全体で各入力チャネルを正規化します。

あり

あり

あり

crop2dLayer (Deep Learning Toolbox)

2 次元切り取り層は、入力に 2 次元のトリミングを適用します。

あり

あり

あり

crossChannelNormalizationLayer (Deep Learning Toolbox)

チャネル単位の局所応答 (クロス チャネル) 正規化層は、チャネル単位の正規化を行います。

あり

あり

あり

dropoutLayer (Deep Learning Toolbox)

ドロップアウト層は、与えられた確率でランダムに、入力要素をゼロに設定します。

あり

あり

あり

scalingLayer (Reinforcement Learning Toolbox)

アクターまたはクリティック ネットワークのスケーリング層。

コード生成では、'Scale' プロパティと 'Bias' プロパティの値の次元が同じでなければなりません。

あり

あり

あり

プーリング層と逆プーリング層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

averagePooling2dLayer (Deep Learning Toolbox)

平均プーリング層は、入力を四角形のプーリング領域に分割し、各領域の平均値を計算することによって、ダウンサンプリングを実行します。

あり

あり

あり

globalAveragePooling2dLayer (Deep Learning Toolbox)

グローバル平均プーリング層は、入力の高さおよび幅の次元の平均を計算することによって、ダウンサンプリングを実行します。

あり

あり

あり

globalMaxPooling2dLayer (Deep Learning Toolbox)

グローバル最大プーリング層は、入力の高さおよび幅の次元の最大値を計算することによって、ダウンサンプリングを実行します。

あり

あり

あり

maxPooling2dLayer (Deep Learning Toolbox)

最大プーリング層は、入力を四角形のプーリング領域に分割し、各領域の最大値を計算することによって、ダウンサンプリングを実行します。

あり

あり

あり

maxUnpooling2dLayer (Deep Learning Toolbox)

最大逆プーリング層は、最大プーリング層の出力を逆プーリングします。

あり

あり

なし

結合層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

additionLayer (Deep Learning Toolbox)

加算層は、複数のニューラル ネットワーク層からの入力を要素単位で加算します。

あり

あり

あり

concatenationLayer (Deep Learning Toolbox)

連結層は入力を取り、指定された次元に沿って入力を連結します。

あり

あり

なし

depthConcatenationLayer (Deep Learning Toolbox)

深さ連結層は、高さと幅が同じ入力を取り、3 番目の次元 (チャネルの次元) に沿ってこれらを連結します。

あり

あり

あり

オブジェクト検出層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

anchorBoxLayer (Computer Vision Toolbox)

アンカー ボックス層は、オブジェクト検出ネットワークで使用される特徴マップのアンカー ボックスを保存します。

あり

あり

あり

focalLossLayer (Computer Vision Toolbox)

焦点損失層は、焦点損失を使用してオブジェクトのクラスを予測します。

あり

あり

あり

spaceToDepthLayer

空間から深さへの変換層は、入力の空間ブロックを深さの次元に置換します。特徴データを破棄することなく、異なるサイズの特徴マップを組み合わせる必要がある場合は、この層を使用します。

あり

あり

あり

ssdMergeLayer (Computer Vision Toolbox)

SSD マージ層は、後続の回帰や分類の損失計算に使用する特徴マップの出力をマージします。

あり

あり

なし

rcnnBoxRegressionLayer (Computer Vision Toolbox)

ボックス回帰層は、スムーズ L1 損失関数を使用して、境界ボックスの位置を調整します。Fast R-CNN オブジェクトまたは Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

あり

あり

あり

rpnClassificationLayer (Computer Vision Toolbox)

領域提案ネットワーク (RPN) 分類層は、交差エントロピー損失関数を使用して、イメージ領域を "オブジェクト" または "背景" として分類します。Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

あり

あり

あり

YOLOv2OutputLayer (Computer Vision Toolbox)

YOLO v2 オブジェクト検出ネットワークの出力層の作成。

あり

あり

あり

YOLOv2ReorgLayer (Computer Vision Toolbox)

YOLO v2 オブジェクト検出ネットワークの再編成層の作成。

あり

あり

あり

YOLOv2TransformLayer (Computer Vision Toolbox)

YOLO v2 オブジェクト検出ネットワークの変換層の作成。

あり

あり

あり

出力層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

classificationLayer (Deep Learning Toolbox)

分類層は、互いに排他的なクラスを含むマルチクラス分類問題の交差エントロピー損失を計算します。

あり

あり

あり

dicePixelClassificationLayer (Computer Vision Toolbox)

Dice ピクセル分類層は、一般化 Dice 損失を使用して、各イメージ ピクセルまたはボクセルのカテゴリカル ラベルを提供します。

あり

あり

あり

focalLossLayer (Computer Vision Toolbox)

焦点損失層は、焦点損失を使用してオブジェクトのクラスを予測します。

あり

あり

あり

Output Layer (Deep Learning Toolbox)

nnet.layer.ClassificationLayer または nnet.layer.RegressionLayer を使用して作成されたカスタム分類層または回帰出力層などのすべての出力層。

カスタム分類出力層を定義し、損失関数を指定する方法を示す例については、カスタム分類出力層の定義 (Deep Learning Toolbox)を参照してください。

カスタム回帰出力層を定義し、損失関数を指定する方法を示す例については、カスタム回帰出力層の定義 (Deep Learning Toolbox)を参照してください。

あり

あり

あり

pixelClassificationLayer (Computer Vision Toolbox)

ピクセル分類層は、各イメージ ピクセルまたはボクセルのカテゴリカル ラベルを提供します。

あり

あり

あり

rcnnBoxRegressionLayer (Computer Vision Toolbox)

ボックス回帰層は、スムーズ L1 損失関数を使用して、境界ボックスの位置を調整します。Fast R-CNN オブジェクトまたは Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

あり

あり

あり

regressionLayer (Deep Learning Toolbox)

回帰層は、回帰問題の半平均二乗誤差損失を計算します。

あり

あり

あり

rpnClassificationLayer (Computer Vision Toolbox)

領域提案ネットワーク (RPN) 分類層は、交差エントロピー損失関数を使用して、イメージ領域を "オブジェクト" または "背景" として分類します。Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

あり

あり

あり

sigmoidLayer (Deep Learning Toolbox)

シグモイド層によって、シグモイド関数が入力に適用されます。

あり

あり

あり

softmaxLayer (Deep Learning Toolbox)

ソフトマックス層は、入力にソフトマックス関数を適用します。

あり

あり

あり

Keras および ONNX 層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

nnet.keras.layer.FlattenCStyleLayer (Deep Learning Toolbox)

C スタイル (行優先) の順序であると仮定して、アクティベーションを 1 次元にフラット化。

あり

あり

あり

nnet.keras.layer.GlobalAveragePooling2dLayer (Deep Learning Toolbox)

空間データ用のグローバル平均プーリング層。

あり

あり

あり

nnet.keras.layer.SigmoidLayer (Deep Learning Toolbox)

シグモイド活性化層。

あり

あり

あり

nnet.keras.layer.TanhLayer (Deep Learning Toolbox)

双曲線正接活性化層。

あり

あり

あり

nnet.keras.layer.ZeroPadding2dLayer (Deep Learning Toolbox)

2 次元入力のゼロ パディング層。

あり

あり

あり

nnet.onnx.layer.ElementwiseAffineLayer (Deep Learning Toolbox)

加算の前に入力の要素単位のスケーリングを実行する層。

あり

あり

あり

nnet.onnx.layer.FlattenLayer (Deep Learning Toolbox)

入力テンソルの空間次元をチャネル次元へとフラットにします。

あり

あり

あり

nnet.onnx.layer.IdentityLayer (Deep Learning Toolbox)

ONNX の単位行列演算子を実装する層。

あり

あり

あり

カスタム層

層の名前説明cuDNNTensorRTARM Compute Library for Mali GPU

Custom layers

問題に関して定義される、学習可能パラメーターを伴う場合と伴わない場合があるカスタム層。

カスタム深層学習層の定義方法については、カスタム深層学習層の定義 (Deep Learning Toolbox)コード生成用のカスタム深層学習層の定義 (Deep Learning Toolbox)を参照してください。

カスタム層を使用してネットワーク用のコードを生成する方法の例については、YOLO v3 深層学習を使用したオブジェクト検出用のコード生成を参照してください。

カスタム層の出力は固定サイズの配列でなければなりません。

coder.gpuConfigMallocMode として 'unified' を使用すると、追加のメモリ コピーが必要となり、パフォーマンスの低下につながります。カスタム層では、'discrete' モードを使用することをお勧めします。GPU メモリ割り当ての詳細については、離散および管理モードを参照してください。

cuDNN ターゲットは、カスタム層の行優先コード生成と列優先コード生成の両方をサポートします。TensorRT ターゲットは、列優先コード生成のみをサポートします。

カスタム層と LSTM または GRU 層を含むシーケンス ネットワークのコード生成はサポートされていません。

カスタム層をもつ深層学習ネットワークのコード生成は Simulink® ではサポートされていません。

あり

あり

なし

サポートされているクラス

以下のクラスは、表内で指定されたターゲット深層学習ライブラリについて、GPU Coder によるコード生成でサポートされています。

Name説明cuDNNTensorRTARM Compute Library for Mali GPU
DAGNetwork (Deep Learning Toolbox)

深層学習用の有向非循環グラフ (DAG) ネットワーク

  • activations メソッド、predict メソッド、classify メソッドのみがサポートされます。

あり

あり

あり

SeriesNetwork (Deep Learning Toolbox)

深層学習用の系列ネットワーク

  • オブジェクト関数 activationsclassifypredictpredictAndUpdateStateresetState のみがサポートされます。

あり

あり

あり

ssdObjectDetector (Computer Vision Toolbox)

SSD ベースの検出器を使用してオブジェクトを検出するオブジェクト。

  • ssdObjectDetectordetect (Computer Vision Toolbox) メソッドのみがコード生成でサポートされます。

  • detect メソッドの roi 引数は codegen の定数 (coder.const()) および 1 行 4 列のベクトルでなければなりません。

  • ThresholdSelectStrongestMinSizeMaxSize および MiniBatchSize の名前と値のペアのみがサポートされます。すべての名前と値のペアはコンパイル時の定数でなければなりません。

  • 入力イメージのチャネルとバッチ サイズは固定サイズでなければなりません。

  • 出力 labels は categorical 配列として返されます。

  • 生成コードでは、入力がネットワークの入力層のサイズに再スケーリングされます。ただし、detect メソッドが返す境界ボックスは、元の入力サイズに従います。

  • この境界ボックスは、シミュレーション結果と数値的に一致しない場合があります。

あり

あり

なし

yolov2ObjectDetector (Computer Vision Toolbox)

YOLO v2 オブジェクト検出器を使用したオブジェクトの検出

  • yolov2ObjectDetectordetect (Computer Vision Toolbox) メソッドのみがコード生成でサポートされます。

  • detect メソッドの roi 引数は codegen の定数 (coder.const()) および 1 行 4 列のベクトルでなければなりません。

  • ThresholdSelectStrongestMinSizeMaxSize および MiniBatchSize の名前と値のペアのみがサポートされます。

  • 入力イメージの高さ、幅、チャネル、バッチ サイズは固定サイズでなければなりません。

  • 検出メソッドに渡す最小バッチ サイズの値は固定サイズでなければなりません。

  • ラベル出力は、{'car','bus'} などの文字ベクトルの cell 配列として返されます。

あり

あり

あり

参考

関数

オブジェクト

関連するトピック