主要内容

flattenLayer

描述

扁平层将输入的空间尺寸塌陷到通道尺寸中。

例如,如果该层的输入是H-经过-W-经过-C-经过-N-经过-年代数组(图像序列),则平展的输出为(HWC)———N-经过-年代数组中。

该层仅支持序列输入。万博1manbetx

创建

描述

=扁平秀创建一个扁平层。

例子

= flattenLayer(“名字”,的名字设置可选的名字属性使用名称-值对。例如,flattenLayer('名称',' flatten1 ')创建一个有名称的扁平层'扁平'

属性

全部展开

层名,指定为字符向量或字符串标量。要在层图中包含层,必须指定一个非空的、唯一的层名。如果你训练一个系列网络层和的名字设定为,然后该软件在训练时自动为该层指定一个名称。

数据类型:char|字符串

图层的输入数。此图层仅接受单个输入。

数据类型:

图层的输入名称。此图层仅接受单个输入。

数据类型:细胞

层的输出数。这一层只有一个输出。

数据类型:

图层的输出名称。这一层只有一个输出。

数据类型:细胞

对象的功能

例子

全部折叠

使用名称创建平坦的图层'扁平'

层= flattenLayer (“名字”'扁平'
Name: '扁平化1'

为包含图像序列的数据创建深度学习网络,例如视频和医学图像数据。

  • 要将图像序列输入到网络中,请使用序列输入层。

  • 要对每个时间步单独应用卷积运算,首先使用序列折叠层将图像序列转换为图像数组。

  • 要在执行这些操作后恢复序列结构,请使用序列展开层将这个图像数组转换回图像序列。

  • 要将图像转换为特征向量,使用一个平坦层。

然后可以将矢量序列输入LSTM和BiLSTM层。

定义网络体系结构

创建一个分类LSTM网络,将28-×28灰度图像的序列分类为10类。

定义以下网络架构:

  • 输入大小为的序列输入层[28 28 1]

  • 一个卷积,批归一化,和ReLU层块与20 5 × 5滤波器。

  • 一个LSTM层,具有200个隐藏单元,仅输出最后一次步骤。

  • 一个大小为10的完全连接层(类的数量),然后是一个softmax层和一个分类层。

为了独立地在每次上执行卷积操作,包括卷积层之前的序列折叠层。LSTM层预计向量序列输入。为了恢复序列结构并将卷积层的输出重新塑造到特征向量的序列,在卷积层和LSTM层之间插入序列展开层和平坦层。

inputSize = [28 28 1];filterSize = 5;numFilters = 20;numHiddenUnits = 200;numClasses = 10;层= [...sequenceInputLayer (inputSize“名字”“输入”) sequenceFoldingLayer (“名字”“折”)卷积2dlayer(过滤,numfilters,“名字”'conv') batchNormalizationLayer (“名字”'bn') reluLayer (“名字”'relu') sequenceUnfoldingLayer (“名字”'展开')Flattenlayer(“名字”“平”) lstmLayer (numHiddenUnits“OutputMode”“最后一次”“名字”“lstm”)全连接列(numcrasses,“名字”'fc') softmaxLayer (“名字”“softmax”scassificationlayer(“名字”“分类”)];

将层转换为层图,并连接miniBatchSize序列折叠层的输出到序列展开层的相应输入。

lgraph = layerGraph(层);lgraph = connectLayers (lgraph,“折/ miniBatchSize”'展开/小贴士');

查看最终的网络架构使用情节函数。

图绘图(LGROP)

图中包含一个轴。这些轴包含一个graphplot类型的对象。

扩展功能

GPU的代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

介绍了R2019a