Main Content

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

C++ コード生成でサポートされているネットワークとレイヤー

MATLAB® Coder™ は、系列ネットワーク、有向非循環グラフ (DAG) ネットワーク、再帰型畳み込みニューラル ネットワーク (CNN または ConvNet) のコード生成をサポートします。コード生成でサポートされている層の学習済みの畳み込みニューラル ネットワークのコードを生成できます。サポートされている層を参照してください。

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

次の事前学習済みネットワークは Deep Learning Toolbox™ で利用でき、コード生成をサポートしています。

ネットワーク名説明ARM® Compute LibraryIntel® MKL-DNN
AlexNet

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

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

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

はいはい
EfficientNet-b0

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

はいはい
GoogLeNet

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

はいはい
Inception-ResNet-v2

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

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

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

はいはい
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 モデルについては、resnet18 (Deep Learning Toolbox)resnet50 (Deep Learning Toolbox) および resnet101 (Deep Learning Toolbox) を参照してください。

はいはい
SegNet

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

いいえはい
SqueezeNet

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

はいはい
VGG-16

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

はいはい
VGG-19

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

はいはい
Xception

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

はいはい

サポートされている層

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

サポート パッケージの MATLAB Coder Interface for Deep Learning Libraries をインストールすると、coder.getDeepLearningLayers を使用して、特定の深層学習ライブラリでサポートされているレイヤーのリストを確認できます。以下に例を示します。

coder.getDeepLearningLayers('mkldnn')

レイヤー名説明ARM Compute LibraryIntel MKL-DNN
additionLayer (Deep Learning Toolbox)

加算層

はいはい
anchorBoxLayer (Computer Vision Toolbox)

アンカー ボックス層

はいはい
averagePooling2dLayer (Deep Learning Toolbox)

平均プーリング層

はいはい
batchNormalizationLayer (Deep Learning Toolbox)

バッチ正規化層

はいはい
bilstmLayer (Deep Learning Toolbox)双方向 LSTM 層はいはい
classificationLayer (Deep Learning Toolbox)

分類出力層の作成

はいはい
clippedReluLayer (Deep Learning Toolbox)

クリップされた正規化線形ユニット (ReLU) 層

はいはい
concatenationLayer (Deep Learning Toolbox)

連結層

はいはい
convolution2dLayer (Deep Learning Toolbox)

2 次元畳み込み層

はい

はい

crop2dLayer (Deep Learning Toolbox)

2 次元切り取りを入力に適用する層

はいはい
CrossChannelNormalizationLayer (Deep Learning Toolbox)

チャネル単位の局所応答正規化層

はいはい

カスタム層

問題に対して定義するカスタム層。学習可能パラメーターの有無は任意です。

以下を参照してください。

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

シーケンス ネットワークにおけるカスタム層はコード生成でサポートされていません。

はい

  • 生成されたコードでは、配列データに列優先のレイアウトが使用されます。行優先の配列レイアウトを使用するコードの生成はサポートされていません。

はい

カスタム出力層

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

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

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

はい

はい

depthConcatenationLayer (Deep Learning Toolbox)

深さ連結層

はい

はい

dicePixelClassificationLayer (Computer Vision Toolbox)

Dice ピクセル分類層は、汎用的な Dice 損失を使用して、イメージのピクセルまたはボクセルごとに categorical ラベルを提供します。

はいはい
dropoutLayer (Deep Learning Toolbox)

ドロップアウト層

はいはい
eluLayer (Deep Learning Toolbox)

指数線形ユニット (ELU) 層

はいはい
focalLossLayer (Computer Vision Toolbox)焦点損失層は、焦点損失を使用してオブジェクト クラスを予測します。はいはい
fullyConnectedLayer (Deep Learning Toolbox)

全結合層

はいはい
globalAveragePooling2dLayer (Deep Learning Toolbox)

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

はい

はい

globalMaxPooling2dLayer (Deep Learning Toolbox)

2 次元グローバル最大プーリング層

はいはい

groupedConvolution2dLayer (Deep Learning Toolbox)

2 次元グループ畳み込み層

はい

  • numGroups に整数を指定する場合、その値は 2 以下でなければなりません。

はい

gruLayer (Deep Learning Toolbox)

ゲート付き回帰型ユニット (GRU) 層

はい

はい

imageInputLayer (Deep Learning Toolbox)

イメージ入力層

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

はいはい
leakyReluLayer (Deep Learning Toolbox)

漏洩正規化線形ユニット (ReLU) 層

はいはい
lstmLayer (Deep Learning Toolbox)

長短期記憶 (LSTM) 層

はいはい
maxPooling2dLayer (Deep Learning Toolbox)

最大プーリング層

はいはい
maxUnpooling2dLayer (Deep Learning Toolbox)

最大逆プーリング層

いいえはい
multiplicationLayer (Deep Learning Toolbox)

乗算層

はいはい
pixelClassificationLayer (Computer Vision Toolbox)

セマンティック セグメンテーションのピクセル分類レイヤーの作成

はいはい
rcnnBoxRegressionLayer (Computer Vision Toolbox)

Fast R-CNN および Faster R-CNN 用のボックス回帰層

はいはい
rpnClassificationLayer (Computer Vision Toolbox)

領域提案ネットワーク (RPN) 用の分類層

はいはい
regressionLayer (Deep Learning Toolbox)

回帰出力層の作成

はいはい
reluLayer (Deep Learning Toolbox)

正規化線形ユニット (ReLU) 層

はいはい
scalingLayer (Reinforcement Learning Toolbox)アクター ネットワークまたはクリティック ネットワーク用のスケーリング層はいはい
sigmoidLayer (Deep Learning Toolbox)シグモイド層はいはい
sequenceInputLayer (Deep Learning Toolbox)

シーケンス入力層

  • コード生成では、ベクトル入力シーケンスのみがサポートされます。

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

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

はいはい
softmaxLayer (Deep Learning Toolbox)

ソフトマックス層

はい

はい

softplusLayer (Reinforcement Learning Toolbox)

アクター ネットワークまたはクリティック ネットワーク用のソフトプラス層

はいはい
spaceToDepthLayer

空間から深さへの変換層

はいはい
ssdMergeLayer (Computer Vision Toolbox)

オブジェクト検出のための SSD マージ層

はいはい

nnet.keras.layer.FlattenCStyleLayer

C スタイル (行優先) の順序であると仮定して、活性化を 1 次元にフラット化

はい

はい

nnet.keras.layer.GlobalAveragePooling2dLayer

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

はい

はい

nnet.keras.layer.SigmoidLayer

シグモイド活性化層

はい

はい

nnet.keras.layer.TanhLayer

双曲線正接活性化層

はい

はい

nnet.keras.layer.ZeroPadding2dLayer

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

はい

はい

nnet.onnx.layer.ElementwiseAffineLayer

その後に追加が続く、入力の要素単位のスケーリングを実行する層

はいはい

nnet.onnx.layer.FlattenLayer

ONNX™ ネットワークの層のフラット化

はい

はい

nnet.onnx.layer.IdentityLayer

ONNX 恒等作用素を実装する層

はい

はい

tanhLayer (Deep Learning Toolbox)

双曲線正接 (tanh) 層

はい

はい

transposedConv2dLayer (Deep Learning Toolbox)

転置 2 次元畳み込み層

コード生成は、入力の非対称のトリミングをサポートしていません。たとえば、ベクトル [t b l r]'Cropping' パラメーターに指定して、入力の上下左右をトリミングすることはサポートされていません。

はい

はい

wordEmbeddingLayer (Text Analytics Toolbox)

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

はい

はい

yolov2OutputLayer (Computer Vision Toolbox)

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

はい

はい

yolov2ReorgLayer (Computer Vision Toolbox)

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

はい

はい

yolov2TransformLayer (Computer Vision Toolbox)

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

はい

はい

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

クラス

説明

ARM Compute Library

Intel MKL-DNN

yolov2ObjectDetector (Computer Vision Toolbox)

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

  • detect メソッドの引数 roi は、コード生成定数 (coder.const()) と 1 行 4 列のベクトルでなければなりません。

  • detect には、ThresholdSelectStrongestMinSize、および MaxSize の名前と値のペアのみがサポートされます。

  • detectlabels 出力が、文字ベクトルの cell 配列として返されます (たとえば {'car','bus'})。

はい

はい

ssdObjectDetector (Computer Vision Toolbox)

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

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

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

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

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

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

  • 生成されたコードで、入力はネットワークの入力層のサイズに合わせて再スケーリングされます。ただし、detect メソッドから返される境界ボックスは、元の入力サイズに準拠します。

はい

はい

参考

関連するトピック