主要内容

万博1manbetx支持的网络、层和类

万博1manbetx支持Pretrained网络

GPU编码器™支持序列万博1manbetx和有向无环图(DAG)卷积神经网络(CNNs或ConvNets)的代码生成。您可以为任何训练有素的卷积神经网络生成代码,这些神经网络的层支持代码生成。万博1manbetx看到万博1manbetx支持层.您可以使用深度学习工具箱™在CPU、GPU或多个GPU上训练卷积神经网络,或使用表中列出的预训练网络之一并生成CUDA®密码

网络名称 描述 cuDNN 坦索特 ®马里GPU的计算图书馆

阿列克斯内特

AlexNet卷积神经网络。有关预训练的AlexNet模型,请参见alexnet(深度学习工具箱)

的语法alexnet('Weights','none')不支持代码生成万博1manbetx。

Caffe网络

Caffe的卷积神经网络模型。要从Caffe导入预先训练过的网络,请参见importCaffeNetwork(深度学习工具箱)

黑暗-19

Darknet-19卷积神经网络。有关更多信息,请参见darknet19(深度学习工具箱)

的语法darknet19(“重量”、“没有”)不支持代码生成万博1manbetx。

黑暗-53

Darknet-53卷积神经网络。有关更多信息,请参阅darknet53(深度学习工具箱)

的语法darknet53(“重量”、“没有”)不支持代码生成万博1manbetx。

DeepLab v3 +

DeepLab v3+卷积神经网络。有关更多信息,请参见deeplabv3plusLayers(计算机视觉工具箱)

没有

densenet - 201

DenseNet-201卷积神经网络。关于预先训练的DenseNet-201模型,请看densenet201(深度学习工具箱)

的语法densenet201(“重量”、“没有”)不支持代码生成万博1manbetx。

EfficientNet-b0

efficient -b0卷积神经网络。关于预先训练过的EfficientNet-b0模型,请参见efficientnetb0(深度学习工具箱)

的语法efficientnetb0(“重量”、“没有”)不支持代码生成万博1manbetx。

水壶

GoogLeNet卷积神经网络。有关预训练的GoogLeNet模型,请参见googlenet(深度学习工具箱)

的语法谷歌网(‘重量’,‘无’)不支持代码生成万博1manbetx。

Inception-ResNet-v2

Inception-ResNet-v2卷积神经网络。关于预训练的Inception-ResNet-v2模型,请参见接收resnetv2(深度学习工具箱)

没有

Inception-v3

Inception-v3卷积神经网络。关于预训练的Inception-v3模型,请参见接收v3(深度学习工具箱)

的语法inceptionv3(“重量”、“没有”)不支持代码生成万博1manbetx。

Mobilenet-v2

v2卷积神经网络。关于预先训练过的MobileNet-v2模型,请参见mobilenetv2(深度学习工具箱)

的语法mobilenetv2(“重量”、“没有”)不支持代码生成万博1manbetx。

NASNet-Large

大型卷积神经网络。关于预先训练的NASNet-Large模型,请参见纳斯内特拉格(深度学习工具箱)

没有

NASNet-Mobile

NASNet移动卷积神经网络。有关预训练的NASNet移动模型,请参见nasnetmobile(深度学习工具箱)

没有

ResNet

ResNet-18, ResNet-50和ResNet-101卷积神经网络。关于预先训练的ResNet模型,请参见resnet50(深度学习工具箱)resnet18(深度学习工具箱),resnet101(深度学习工具箱)

的语法resnetXX(“重量”、“没有”)不支持代码生成万博1manbetx。

赛格网

多类像素分割网络。有关更多信息,请参见赛格莱特(计算机视觉工具箱)

没有

挤压网

小型深度神经网络。对于预先训练过的SqueezeNet模型,请看squeezenet(深度学习工具箱)

的语法squeezenet(“重量”、“没有”)不支持代码生成万博1manbetx。

VGG-16

VGG-16卷积神经网络。对于预先训练的VGG-16模型,请参见vgg16(深度学习工具箱)

的语法vgg16(‘重量’、‘无’)不支持代码生成万博1manbetx。

VGG-19

vgg19卷积神经网络。关于预先训练的VGG-19模型,请参见vgg19(深度学习工具箱)

的语法vgg19(“重量”,“无”)不支持代码生成万博1manbetx。

Xception

卷积神经网络除外。关于预先训练的exception模型,请参见xception(深度学习工具箱)

的语法xception(“重量”、“没有”)不支持代码生成万博1manbetx。

YOLO v2意思

你只看一次基于卷积神经网络的物体检测器。有关更多信息,请参见yolov2Layers(计算机视觉工具箱)

万博1manbetx支持层

对于表中指定的目标深度学习库,GPU Coder支万博1manbetx持以下层进行代码生成。

输入层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

图像输入层(深度学习工具箱)

图像输入层将二维图像输入到网络并应用数据规范化。

不支持代码生成万博1manbetx“归一化”使用函数句柄指定。

序列输入层(深度学习工具箱)

序列输入层将序列数据输入到网络。

cuDNN库支持矢量和二维图像序列。万博1manbetxTensorRT库仅支持矢量输入序列。

对于矢量序列输入,在代码生成过程中,特征的数量必须是常数。

对于图像序列输入,在代码生成期间,通道的高度、宽度和数量必须是一个常量。

不支持代码生成万博1manbetx“归一化”使用函数句柄指定。

没有

featureInputLayer(深度学习工具箱)

特征输入层将特征数据输入到网络,并进行数据规范化。

卷积和全连接层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

convolution2dLayer(深度学习工具箱)

二维卷积层将滑动卷积滤波器应用于输入。

fullyConnectedLayer(深度学习工具箱)

一个完全连通的层将输入乘以一个权值矩阵,然后添加一个偏置向量。

没有

groupedConvolution2dLayer(深度学习工具箱)

一个二维分组卷积层将输入通道分成组,并应用滑动卷积滤波器。使用分组卷积层进行信道可分(也称为深度可分)卷积。

ARM Mali GPU的代码生成不支持2-D分组卷积层万博1manbetxNumGroups属性集为“channel-wise”或大于2的值。

transposedConv2dLayer(深度学习工具箱)

转置的二维卷积层对特征地图进行上采样。

序列层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

bilstmLayer(深度学习工具箱)

双向LSTM (BiLSTM)层学习时间序列或序列数据的时间步长之间的双向长期依赖关系。当您希望网络在每个时间步骤中从完整的时间序列中学习时,这些依赖项可能会很有用。

对于代码生成,状态激活函数属性必须设置为的双曲正切

对于代码生成,GateActivationFunction属性必须设置为“乙状结肠”

没有

flattenLayer(深度学习工具箱)

扁平层将输入的空间维度折叠为通道维度。

没有

没有

gruLayer(深度学习工具箱)

GRU层学习时间序列和序列数据中时间步之间的依赖关系。

代码生成只支持万博1manbetx“乘法运算后”“recurrent-bias-after-multiplication”重置门模式。

没有

lstmLayer(深度学习工具箱)

LSTM层学习时间序列和序列数据中时间步长之间的长期依赖关系。

对于代码生成,状态激活函数属性必须设置为的双曲正切

对于代码生成,GateActivationFunction属性必须设置为“乙状结肠”

没有

sequenceFoldingLayer(深度学习工具箱)

序列折叠层将一批图像序列转换为一批图像。使用序列折叠层对图像序列的时间步独立进行卷积运算。

没有

没有

序列输入层(深度学习工具箱)

序列输入层将序列数据输入到网络。

cuDNN库支持矢量和二维图像序列。万博1manbetxTensorRT库仅支持矢量输入序列。

对于矢量序列输入,在代码生成过程中,特征的数量必须是常数。

对于图像序列输入,在代码生成期间,通道的高度、宽度和数量必须是一个常量。

不支持代码生成万博1manbetx“归一化”使用函数句柄指定。

没有

sequenceUnfoldingLayer(深度学习工具箱)

序列展开层还原输入数据在序列折叠后的序列结构。

没有

没有

wordEmbeddingLayer(文本分析工具箱)

单词嵌入层将单词索引映射到向量。

没有

激活层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

剪纸机(深度学习工具箱)

被裁剪的ReLU层执行一个阈值操作,其中任何小于0的输入值都被设置为0,任何高于剪裁天花板被设置在了天花板上。

eluLayer(深度学习工具箱)

ELU激活层对正输入执行恒等式运算,对负输入执行指数非线性运算。

没有

leakyReluLayer(深度学习工具箱)

一个泄漏的ReLU层执行一个阈值操作,其中任何小于零的输入值乘以一个固定标量。

reluLayer(深度学习工具箱)

ReLU层对输入的每个元素执行一个阈值操作,其中任何小于零的值都被设置为零。

softplusLayer(强化学习工具箱)

一个SoftplusLayer深层神经网络层是实现软加激活的吗Y= log(1 + eX,确保输出始终为正。

没有

swishLayer(深度学习工具箱)

swish激活层对层输入应用swish功能。

没有

tanhLayer(深度学习工具箱)

双曲正切(tanh)激活层将tanh函数应用于层输入。

标准化、退出和裁剪图层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

批处理规范化层(深度学习工具箱)

批处理规范化层通过一个小批处理规范化每个输入通道。

crop2dLayer(深度学习工具箱)

2-D作物层应用2-D裁剪输入。

交叉信道归一化层(深度学习工具箱)

信道本地响应(跨信道)归一化层执行信道归一化。

dropoutLayer(深度学习工具箱)

退出层以给定的概率将输入元素随机设置为零。

groupNormalizationLayer(深度学习工具箱)

组规范化层独立地规范化每个观察的通道分组子集上的一小批数据。

没有

缩放层(强化学习工具箱)

演员或评论家网络的缩放层。

的值用于代码生成“规模”“偏见”属性必须具有相同的维度。

池化层和非池化层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

averagePooling2dLayer(深度学习工具箱)

平均池化层通过将输入划分为矩形池化区域并计算每个区域的平均值来执行向下采样。

GlobalAveragePoolg2Dlayer(深度学习工具箱)

全局平均池层通过计算输入的高度和宽度维度的平均值来执行下采样。

globalMaxPooling2dLayer(深度学习工具箱)

全局最大池化层通过计算输入的最大高度和宽度维度来执行向下采样。

maxPooling2dLayer(深度学习工具箱)

最大池化层通过将输入划分为矩形池化区域,并计算每个区域的最大值来进行向下采样。

MaxUnpolling2dlayer(深度学习工具箱)

最大非池化层取消池化最大池化层的输出。

没有

组合层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

additionLayer(深度学习工具箱)

加法层以元素的方式增加来自多个神经网络层的输入。

concatenationLayer(深度学习工具箱)

连接层接收输入并将它们沿着指定的维度连接起来。

没有

depthConcatenationLayer(深度学习工具箱)

深度级联层接受具有相同高度和宽度的输入,并沿第三维(通道维)将它们级联。

对象检测层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

anchorBoxLayer(计算机视觉工具箱)

锚定框层存储用于对象检测网络的特征地图的锚定框。

depthToSpace2dLayer(图像处理工具箱)

二维深度到空间层将深度维度的数据置换成二维空间数据块。

focalLossLayer(计算机视觉工具箱)

焦点丢失层使用焦点丢失预测对象类。

spaceToDepthLayer(图像处理工具箱)

空间到深度层将输入的空间块置换为深度维度。当您需要在不丢弃任何特征数据的情况下组合不同大小的特征图时,可以使用此层。

ssdMergeLayer(计算机视觉工具箱)

SSD合并层合并特征图的输出,用于后续回归和分类损失计算。

没有

rcnnBoxRegressionLayer(计算机视觉工具箱)

盒回归层通过使用平滑的L1损失函数来改进包围盒的位置。使用这一层创建一个快速或更快的R-CNN对象检测网络。

rpnClassificationLayer(计算机视觉工具箱)

区域建议网络(RPN)分类层将图像区域分类为对象背景通过交叉熵损失函数。使用这一层创建一个更快的R-CNN对象检测网络。

YOLOv2OutputLayer(计算机视觉工具箱)

为YOLO v2对象检测网络创建输出层。

YOLOv2ReorgLayer(计算机视觉工具箱)

为YOLO v2对象检测网络创建重组层。

YOLOv2TransformLayer(计算机视觉工具箱)

为YOLO v2对象检测网络创建变换层。

输出层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

分类层(深度学习工具箱)

分类层计算具有互斥类的多类分类问题的交叉熵损失。

dicePixelClassificationLayer(计算机视觉工具箱)

骰子像素分类层使用广义骰子丢失为每个图像像素或体素提供分类标签。

focalLossLayer(计算机视觉工具箱)

焦点丢失层使用焦点丢失预测对象类。

输出层(深度学习工具箱)

使用创建的所有输出层,包括自定义分类或回归输出层nnet.layer.ClassificationLayernnet.layer.RegressionLayer

有关如何定义自定义分类输出层和指定损失函数的示例,请参见定义自定义分类输出层(深度学习工具箱)

有关如何定义自定义回归输出层和指定损失函数的示例,请参见定义自定义回归输出层(深度学习工具箱)

pixelClassificationLayer(计算机视觉工具箱)

像素分类层为每个图像像素或体素提供分类标签。

rcnnBoxRegressionLayer(计算机视觉工具箱)

盒回归层通过使用平滑的L1损失函数来改进包围盒的位置。使用这一层创建一个快速或更快的R-CNN对象检测网络。

regressionLayer(深度学习工具箱)

回归层计算回归问题的半均方误差损失。

rpnClassificationLayer(计算机视觉工具箱)

区域建议网络(RPN)分类层将图像区域分类为对象背景通过交叉熵损失函数。使用这一层创建一个更快的R-CNN对象检测网络。

乙状结肠(深度学习工具箱)

s型层将s型函数应用于输入。

softmaxLayer(深度学习工具箱)

softmax层对输入端应用softmax功能。

Keras和ONNX图层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

nnet.keras.layer.FlattleCstyleLayer(深度学习工具箱)

假设c风格(行为主)顺序,将激活压成一维。

nnet.keras.layer.GlobalAveragePooling2dLayer(深度学习工具箱)

空间数据的全球平均池化层。

nnet.keras.layer.SigmoidLayer(深度学习工具箱)

乙状激活层。

nnet.keras.layer.TanhLayer(深度学习工具箱)

双曲正切活化层。

nnet.keras.layer.ZeroPadding2dLayer(深度学习工具箱)

用于二维输入的零填充层。

nnet.onnx.layer.ElementwiseAffineLayer(深度学习工具箱)

层,对输入执行按元素缩放,然后添加。

nnet.onnx.layer.FlattenLayer(深度学习工具箱)

将输入张量的空间维度展平为通道维度。

nnet.onnx.layer.IdentityLayer(深度学习工具箱)

实现ONNX标识操作符的层。

自定义图层

层的名字 描述 cuDNN 坦索特 用于马里GPU的ARM计算库

自定义图层

自定义层,有或没有可学习的参数,您为您的问题定义。

要了解如何定义自定义深度学习层,请参见定义自定义深度学习层(深度学习工具箱)定义用于代码生成的自定义深度学习层(深度学习工具箱)

有关如何为具有自定义图层的网络生成代码的示例,请参见基于YOLO v3深度学习的目标检测代码生成

自定义图层的输出必须是固定大小的数组。

使用“统一”随着MallocModecoder.gpuConfig需要额外的内存副本,导致性能较慢。对于自定义层,建议使用“离散”模式。有关GPU内存分配的更多信息,请参见离散模式和管理模式

cuDNN目标支持为自定义层万博1manbetx生成行主代码和列主代码。TensorRT目标仅支持列主代码生成。

对于代码生成,自定义层必须包含%#编码基因布拉格马。

不支持包含自定义层和LSTM或GRU层的序列网络的代码生成。万博1manbetx

你可以通过dlarray自定义层,如果:

  • 自定义层在dlnetwork

  • 自定义层是在DAG或系列网络和继承nnet.layer.Formattable或者没有反向传播。

对于不支持的万博1manbetxdlarray方法,则必须从dlarray,执行计算并将数据重新构造回dlarray代码生成。例如,

函数Z=预测(层,X)如果coder.target (MATLAB的Z = doprecdict (X);其他的如果isdlarray(X) X1 = extractdata(X);Z1 = doPredict (X1);Z = dlarray (Z1);其他的Z = doPredict (X);结束结束结束

没有

万博1manbetx支持类

对于表中指定的目标深度学习库,GPU Coder支持万博1manbetx以下类生成代码。

名称 描述 cuDNN 坦索特 用于马里GPU的ARM计算库
达格网络(深度学习工具箱)

用于深度学习的有向无环图(DAG)网络

  • 只有激活预测,分类支持方法。万博1manbetx

dlnetwork(深度学习工具箱)

深度学习网络自定义训练循环

  • 代码生成只支持万博1manbetxInputNamesOutputNames属性。

  • 不支持代码生成万博1manbetxdlnetwork没有输入层的对象。

  • 代码生成只支持万博1manbetx预测目标函数。这个dlarray输入到预测方法必须是仅有一个的数据类型。

  • 您可以为dlnetwork它有向量序列输入。代码生成支持包括:万博1manbetx

    • dlarray包含向量序列的“CT”“认知行为治疗”数据格式。

    • 一个dlnetwork具有多个输入的对象。对于RNN网络,不支持多输入。万博1manbetx

  • 当目标是TensorRT时INT8精度,网络的最后一层(s)必须是softmaxLayer层。

  • 代码生成支持MIMO万博1manbetxdlnetworks

没有

SeriesNetwork(深度学习工具箱)

深度学习系列网络

  • 只有激活分类预测预测和更新房地产classifyAndUpdateState,resetState支持对象函数。万博1manbetx

ssdObjectDetector(计算机视觉工具箱)

对象使用基于ssd的检测器检测对象。

  • 只有发现(计算机视觉工具箱)的方法ssdObjectDetector用于代万博1manbetx码生成。

  • roi辩论发现方法必须是codegen常量(coder.const ())和一个1x4向量。

  • 只有阈值选择最强的MinSize最大尺寸,MiniBatchSize支持名称-值对。万博1manbetx所有名称-值对必须是编译时常量。

  • 输入图像的通道和批次大小必须为固定大小。

  • 标签输出作为分类数组返回。

  • 在生成的代码中,输入被缩放到网络的输入层的大小。但是这个边界框发现方法的返回是参照原始输入大小的。

  • 边界框在数值上可能与模拟结果不匹配。

没有

yolov2ObjectDetector(计算机视觉工具箱)

使用YOLO v2对象检测器检测对象

  • 只有发现(计算机视觉工具箱)的方法yolov2ObjectDetector用于代万博1manbetx码生成。

  • roi辩论发现方法必须是codegen常量(coder.const ())和一个1x4向量。

  • 只有阈值选择最强的MinSize最大尺寸,MiniBatchSize支持名称-值对。万博1manbetx

  • 输入图像的高度、宽度、通道和批处理大小必须是固定大小。

  • 检测方法通过的最小批大小值必须是固定尺寸。

另请参阅

功能

对象

相关话题