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') はコード生成でサポートされていません。

ありありあり
GoogLeNet

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

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

ありありあり
Caffe Network

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') はコード生成でサポートされていません。

ありありあり
Inception-v3

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

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

ありありあり
Inception-ResNet-v2

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

ありありなし
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 によるコード生成でサポートされています。

サポート パッケージ GPU Coder Interface for Deep Learning Libraries をインストールしたら、coder.getDeepLearningLayers を使用して、特定の深層学習ライブラリでサポートされている層の一覧を表示できます。たとえば、coder.getDeepLearningLayers('cudnn') は、NVIDIA® cuDNN ライブラリを使用したコード生成でサポートされる層の一覧を表示します。

入力層

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

imageInputLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

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

ありありあり

sequenceInputLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

コード生成では、ベクトル入力タイプのみがサポートされます。2 次元と 3 次元イメージのシーケンス入力はサポートされません。

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

ありありなし

畳み込み層と全結合層

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

convolution2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

groupedConvolution2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

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

ありありあり

transposedConv2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

fullyConnectedLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありなし

シーケンス層

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

sequenceInputLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

コード生成では、ベクトル入力タイプのみがサポートされます。2 次元と 3 次元イメージのシーケンス入力はサポートされません。

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

ありありなし

lstmLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

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

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

ありありなし

bilstmLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

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

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

ありありなし

flattenLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありなしなし

wordEmbeddingLayer (Text Analytics Toolbox)

Text Analytics Toolbox™

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

ありありなし

活性化層

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

reluLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

leakyReluLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

clippedReluLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

eluLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありなし

tanhLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

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

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

batchNormalizationLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

crossChannelNormalizationLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

dropoutLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

crop2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

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

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

averagePooling2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

globalAveragePooling2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

maxPooling2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

globalMaxPooling2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

maxUnpooling2dLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありなし

結合層

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

additionLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

depthConcatenationLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

concatenationLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありなし

オブジェクト検出層

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

anchorBoxLayer (Computer Vision Toolbox)

Computer Vision Toolbox™

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

ありありあり

ssdMergeLayer (Computer Vision Toolbox)

Computer Vision Toolbox

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

ありありなし

YOLOv2OutputLayer (Computer Vision Toolbox)

Computer Vision Toolbox

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

ありありあり

YOLOv2ReorgLayer (Computer Vision Toolbox)

Computer Vision Toolbox

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

ありありあり

YOLOv2TransformLayer (Computer Vision Toolbox)

Computer Vision Toolbox

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

ありありあり

出力層

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

softmaxLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

classificationLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

regressionLayer (Deep Learning Toolbox)

Deep Learning Toolbox

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

ありありあり

pixelClassificationLayer (Computer Vision Toolbox)

Computer Vision Toolbox

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

ありありあり

dicePixelClassificationLayer (Computer Vision Toolbox)

Computer Vision Toolbox

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

ありありあり

Output Layer

Deep Learning Toolbox

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

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

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

ありありあり

Keras および ONNX 層

層の名前Product説明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 の単位行列演算子を実装する層。

ありありあり

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

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

NameProduct説明cuDNNTensorRTARM Compute Library for Mali GPU
yolov2ObjectDetector (Computer Vision Toolbox)

Computer Vision Toolbox

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

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

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

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

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

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

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

ありありあり
ssdObjectDetector (Computer Vision Toolbox)

Computer Vision Toolbox

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

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

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

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

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

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

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

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

ありありなし

参考

| | | | | | |

関連するトピック