メインコンテンツ

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

サポートされるネットワーク、層、クラス

R2026a

GPU Coder™ は、系列または有向非循環グラフ (DAG) ニューラル ネットワークのコード生成をサポートしています。このページは、サポートされている深層学習ネットワーク、層、クラスの一覧を提供します。

コード ジェネレーターでは、ロケール設定によって決まる 8 ビット ASCII コードセットで文字が表されることに注意してください。したがって、クラス名、層の名前、層の説明、またはネットワーク名に非 ASCII 文字を使用すると、エラーが発生する可能性があります。詳細については、コード生成での文字のエンコードを参照してください。

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

Deep Learning Toolbox™ を使用するか、以下の表に示されているいずれかの事前学習済みのネットワークを使用して、1 つの CPU、1 つの GPU、または複数の GPU 上でニューラル ネットワークに学習させ、CUDA® コードを生成することができます。

Deep Learning Toolbox で利用可能なそれらの事前学習済みネットワークは、コード生成でサポートされています。以下の事前学習済みニューラル ネットワークをコード生成するための dlnetwork (Deep Learning Toolbox) オブジェクトとして読み込むには、imagePretrainedNetwork (Deep Learning Toolbox)関数を使用できます。コード生成では、imagePretrainedNetwork 関数の名前と値の引数 Weights を "none" に設定することはサポートされていないことに注意してください。たとえば、事前学習済みの GoogLeNet ニューラル ネットワークを読み込むには、次のコードを使用します。

net = imagePretrainedNetwork("googlenet")

imagePretrainedNetwork のモデル名引数CUDATensorRT と cuDNN

"alexnet"

"darknet19"

"darknet53"

"densenet201"

"efficientnetb0"

"googlenet"

"inceptionresnetv2"

"inceptionv3"

"mobilenetv2"

"nasnetlarge"

 

"nasnetmobile"

 

"resnet18"

"resnet50"

"resnet101"

"shufflenet"

 

"squeezenet"

"vgg16"

"vgg19"

"xception"

さらに、以下の関数を使用して、コード生成用のニューラル ネットワークを作成することもできます。

ネットワークの名前CUDATensorRT と cuDNN

Caffe ネットワーク

importCaffeNetwork (Deep Learning Toolbox) を参照してください。

DeepLab v3+ ネットワーク

deeplabv3plus (Computer Vision Toolbox)

 

サポートされている層

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

メモ

次の表で、情報アイコン は、ネットワーク、層、またはクラスのコード生成機能が制限されていることを示しています。エラーや予期しない動作が発生する可能性があります。詳細については、そのネットワーク、層、またはクラスのページの「拡張機能」のセクションを参照してください。

入力層

層の名前CUDATensorRTcuDNN

imageInputLayer (Deep Learning Toolbox)

sequenceInputLayer (Deep Learning Toolbox)

featureInputLayer (Deep Learning Toolbox)

畳み込み層と全結合層

層の名前CUDATensorRT と cuDNN

convolution1dLayer (Deep Learning Toolbox)

 

convolution2dLayer (Deep Learning Toolbox)

fullyConnectedLayer (Deep Learning Toolbox)

groupedConvolution2dLayer (Deep Learning Toolbox)

 

transposedConv1dLayer (Deep Learning Toolbox)

 

transposedConv2dLayer (Deep Learning Toolbox)

spectralConvolution1dLayer (Deep Learning Toolbox)

 

spectralConvolution2dLayer (Deep Learning Toolbox)

 

spectralConvolution3dLayer (Deep Learning Toolbox)

 

シーケンス層

層の名前CUDATensorRT と cuDNN

sequenceInputLayer (Deep Learning Toolbox)

bilstmLayer (Deep Learning Toolbox)

flattenLayer (Deep Learning Toolbox)

gruLayer (Deep Learning Toolbox)

lstmLayer (Deep Learning Toolbox)

wordEmbeddingLayer (Text Analytics Toolbox)

活性化層

層の名前CUDATensorRT と cuDNN

clippedReluLayer (Deep Learning Toolbox)

eluLayer (Deep Learning Toolbox)

leakyReluLayer (Deep Learning Toolbox)

preluLayer (Deep Learning Toolbox)

reluLayer (Deep Learning Toolbox)

gelu (Deep Learning Toolbox)

softplusLayer (Deep Learning Toolbox)

swishLayer (Deep Learning Toolbox)

tanhLayer (Deep Learning Toolbox)

ユーティリティ層

層の名前CUDATensorRT と cuDNN

batchNormalizationLayer (Deep Learning Toolbox)

crop2dLayer (Deep Learning Toolbox)

crossChannelNormalizationLayer (Deep Learning Toolbox)

dropoutLayer (Deep Learning Toolbox)

groupNormalizationLayer (Deep Learning Toolbox)

instanceNormalizationLayer (Deep Learning Toolbox)

inverseNormalizationLayer (Deep Learning Toolbox)

layerNormalizationLayer (Deep Learning Toolbox)

reshapeLayer (Deep Learning Toolbox)

 

scalingLayer (Deep Learning Toolbox)

spatialDropoutLayer (Deep Learning Toolbox)

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

層の名前CUDATensorRT と cuDNN
adaptiveAveragePooling2dLayer (Deep Learning Toolbox)

averagePooling1dLayer (Deep Learning Toolbox)

 

averagePooling2dLayer (Deep Learning Toolbox)

globalAveragePooling1dLayer (Deep Learning Toolbox)

 

globalAveragePooling2dLayer (Deep Learning Toolbox)

globalMaxPooling1dLayer (Deep Learning Toolbox)

 

globalMaxPooling2dLayer (Deep Learning Toolbox)

maxPooling1dLayer (Deep Learning Toolbox)

 

maxPooling2dLayer (Deep Learning Toolbox)

maxUnpooling2dLayer (Deep Learning Toolbox)

 

結合層

層の名前CUDATensorRT と cuDNN

additionLayer (Deep Learning Toolbox)

concatenationLayer (Deep Learning Toolbox)

depthConcatenationLayer (Deep Learning Toolbox)

トランスフォーマー層

層の名前CUDATensorRT と cuDNN

AttentionLayer (Deep Learning Toolbox)

 

embeddingConcatenationLayer (Deep Learning Toolbox)

 

indexing1dLayer (Deep Learning Toolbox)

 

patchEmbeddingLayer (Computer Vision Toolbox)

 

PositionEmbeddingLayer (Deep Learning Toolbox)

 

selfAttentionLayer (Deep Learning Toolbox)

 

embeddingLayer (Deep Learning Toolbox)

 

オブジェクト検出層

層の名前CUDATensorRT と cuDNN

depthToSpace2dLayer (Image Processing Toolbox)

spaceToDepthLayer (Image Processing Toolbox)

 

ssdMergeLayer (Computer Vision Toolbox)

yolov2TransformLayer (Computer Vision Toolbox)

信号変換層

層の名前CUDATensorRT と cuDNN

cwtLayer (Wavelet Toolbox) (R2026a 以降)

 

icwtLayer (Wavelet Toolbox) (R2026a 以降)

 

istftLayer (Signal Processing Toolbox) (R2025a 以降)

 

modwtLayer (Wavelet Toolbox) (R2025a 以降)

 

stftLayer (Signal Processing Toolbox) (R2025a 以降)

 

出力層

層の名前CUDATensorRT と cuDNN

classificationLayer (Deep Learning Toolbox)

regressionLayer (Deep Learning Toolbox)

sigmoidLayer (Deep Learning Toolbox)

softmaxLayer (Deep Learning Toolbox)

Custom Output Layer (Deep Learning Toolbox)

  • 関数 nnet.layer.ClassificationLayer または nnet.layer.RegressionLayer によって作成されたカスタム分類層または回帰出力層などの出力層。

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

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

カスタム Keras 層

層の名前CUDATensorRT と cuDNN

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

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

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

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

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

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

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

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

カスタム ONNX 層

層の名前CUDATensorRT と cuDNN

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

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

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

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

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

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

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

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

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

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

カスタム層

層の名前CUDATensorRT と cuDNN

Custom layers

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

  • GPU Coder アプリで [Malloc モード] パラメーターを [unified] に設定すると、追加のメモリ コピーが必要になり、パフォーマンスの低下につながります。"discrete" を使用することを推奨します。GPU メモリ割り当ての詳細については、Malloc モードを参照してください。

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

  • カスタム層には %#codegen プラグマが含まれていなければなりません。

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

  • 次の場合は、dlarray をカスタム層に渡すことができます。

    • カスタム層が dlnetwork 内にある。

    • カスタム層が DAG ネットワークまたは系列ネットワーク内にあり、nnet.layer.Formattable から継承されているか、逆伝播をもたない。

  • サポートされていない dlarray メソッドについては、dlarray から基になるデータを抽出して計算を実行し、データを dlarray オブジェクトに再構成しなければなりません。以下に例を示します。

    function Z = predict(layer, X)
    
    if coder.target('MATLAB')
       Z = doPredict(X);
    else
       if isdlarray(X)
          X1 = extractdata(X);
          Z1 = doPredict(X1);
          Z = dlarray(Z1);
      else
          Z = doPredict(X);
      end
    end
    
    end
    

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

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

名前CUDATensorRT と cuDNN

dlnetwork (Deep Learning Toolbox)

DAGNetwork (Deep Learning Toolbox)

pointPillarsObjectDetector (Point Cloud Toolbox)

SeriesNetwork (Deep Learning Toolbox)

ssdObjectDetector (Computer Vision Toolbox)

yolov2ObjectDetector (Computer Vision Toolbox)

yolov3ObjectDetector (Computer Vision Toolbox)

yolov4ObjectDetector (Computer Vision Toolbox)

yoloxObjectDetector (Computer Vision Toolbox)

peopleDetector (Computer Vision Toolbox) (R2025a 以降)

 

参考

関数

オブジェクト

トピック