主要内容

averagePooling2dLayer

平均池化层

描述

二维平均池化层通过将输入划分为矩形池化区域,然后计算每个区域的平均值来进行下采样。

创建

描述

= averagePooling2dLayer (poolSize创建平均池化层并设置PoolSize财产。

例子

= averagePooling2dLayer (poolSize名称,值设置可选的而且的名字属性使用名称-值对。要指定输入填充,请使用“填充”名称-值对参数。例如,averagePooling2dLayer(2步,2)创建具有池大小的平均池化层(2 - 2)和步(2 - 2).可以指定多个名称-值对。将每个属性名用单引号括起来。

输入参数

全部展开

名称-值对参数

使用逗号分隔的名称-值对参数指定要在层输入的边缘添加的零填充的大小,或设置而且的名字属性。名字用单引号括起来。

例子:averagePooling2dLayer(2步,2)创建具有池大小的平均池化层(2 - 2)和步(2 - 2)

输入边填充,指定为由逗号分隔的对组成“填充”其中一个价值观是:

  • “相同”-增加软件在训练或预测时计算出的大小的padding,使stride = 1时输出与输入大小相同。如果stride大于1,则输出大小为装天花板(inputSize /步),在那里inputSize输入的高度或宽度是和是对应维度上的步幅。如果可能的话,软件会在顶部和底部,以及左侧和右侧添加相同数量的填充。如果必须垂直添加的填充值为奇数,则软件将在底部添加额外的填充。如果必须水平添加的填充值为奇数,则软件将在右侧添加额外的填充。

  • 非负整数p-添加填充大小p到输入的所有边。

  • 向量[b]的非负整数-添加填充大小一个到输入和填充大小的顶部和底部b向左和向右。

  • 向量[t b l r]的非负整数-添加填充大小t到了顶端,b到底,l向左,然后r在输入的右边。

例子:“填充”,1将一行填充添加到顶部和底部,并将一列填充添加到输入的左侧和右侧。

例子:“填充”,“相同”添加填充,使输出与输入大小相同(如果stride = 1)。

属性

全部展开

平均分担

池化区域的维度,指定为两个正整数的向量[w h],在那里h是高度和w是宽度。在创建层时,您可以指定PoolSize作为一个标量,对两个维度使用相同的值。

如果步幅尺寸小于各自的池化维度,则池化区域重叠。

填充尺寸PaddingSize必须小于池化区域维度PoolSize

例子:(2 - 1)指定高度为2,宽度为1的池化区域。

垂直和水平遍历输入的步长,指定为两个正整数的向量[b],在那里一个垂直步长和b是水平步长。在创建层时,您可以指定作为一个标量,对两个维度使用相同的值。

如果步幅尺寸小于各自的池化维度,则池化区域重叠。

填充尺寸PaddingSize必须小于池化区域维度PoolSize

例子:3 [2]指定垂直步长为2,水平步长为3。

要应用于输入边框的填充大小,以向量形式指定[t b l r]四个非负整数,其中t是填充到顶部,b是填充到底部,l填充应用于左侧,和r是应用于右侧的填充。

创建图层时,使用“填充”名称-值对参数指定填充大小。

例子:[1,2 2]将一行填充添加到顶部和底部,并将两列填充添加到输入的左侧和右侧。

方法来确定填充大小,指定为“手动”“相同”

的值由软件自动设置PaddingMode基于“填充”创建层时指定的值。

  • 如果你设置“填充”选项为标量或矢量的非负整数,然后软件自动设置PaddingMode“手动”

  • 如果你设置“填充”选项“相同”,然后软件自动设置PaddingMode“相同”并在训练时计算填充的大小,以便当stride = 1时输出与输入具有相同的大小。如果stride大于1,则输出大小为装天花板(inputSize /步),在那里inputSize输入的高度或宽度是和是对应维度上的步幅。如果可能的话,软件会在顶部和底部,以及左侧和右侧添加相同数量的填充。如果必须垂直添加的填充值为奇数,则软件将在底部添加额外的填充。如果必须水平添加的填充值为奇数,则软件将在右侧添加额外的填充。

用于填充输入的值,指定为0“的意思是”

当你使用填充选项向输入添加填充,则应用的填充值可以是以下值之一:

  • 0属性指定的位置用零填充输入填充财产。计算边缘池化区域的平均值时,包括填充区域。

  • “的意思是”属性指定的位置上的池化区域的平均值填充输入填充选择。在计算每个池化区域的平均值时,有效地排除了填充区域。

请注意

填充属性将在将来的版本中删除。使用PaddingSize代替。创建一个层时,使用“填充”名称-值对参数指定填充大小。

垂直和水平应用于输入边框的填充大小,指定为矢量[b]两个非负整数,其中一个填充是否应用于输入数据的顶部和底部b应用于左右两侧的填充。

例子:[1]将一行填充添加到顶部和底部,并将一列填充添加到输入的左侧和右侧。

层名,指定为字符向量或字符串标量。为数组输入时,trainNetworkassembleNetworklayerGraph,dlnetwork函数自动为层分配名称的名字设置为

数据类型:字符|字符串

此属性是只读的。

该层的输入数量。该层只接受单个输入。

数据类型:

此属性是只读的。

输入层的名称。该层只接受单个输入。

数据类型:细胞

此属性是只读的。

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

数据类型:

此属性是只读的。

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

数据类型:细胞

例子

全部折叠

创建一个平均池化层“avg1”

层= averagePooling2dLayer(2,“名字”“avg1”
Name: 'avg1'超参数PoolSize: [2 2] Stride: [1 1] PaddingMode: 'manual' PaddingSize: [0 0 0 0 0] PaddingValue: 0

中包含一个平均池化层数组中。

层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer averagePooling2dLayer(2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
2 " Convolution 20 5x5 convolutions with stride [1 1] and padding [0 0 0 0 0] 3 " ReLU ReLU 4 " Average Pooling 2x2 Average Pooling with stride [1 1] and padding [0 0 0 0 0] 5 " Fully Connected 10 Fully Connected Layer 6 " Softmax Softmax 7 " Classification Output crossentropyex

创建一个具有非重叠池区域的平均池化层。

层= averagePooling2dLayer(2,“步”,2)
layer = AveragePooling2DLayer with properties: Name: " Hyperparameters PoolSize: [2 2] Stride: [2 2] PaddingMode: 'manual' PaddingSize: [0 0 0 0 0] PaddingValue: 0

矩形区域的高度和宽度(池大小)都是2。池化区域不会重叠,因为垂直和水平遍历图像的步长(stride)也是2。

包含一个具有非重叠区域的平均池化层数组中。

层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer averagePooling2dLayer(2,“步”,2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
2 " Convolution 20 5x5 convolutions with stride [1 1] and padding [0 0 0 0 0] 3 " ReLU ReLU 4 " Average Pooling 2x2 Average Pooling with stride [2 2] and padding [0 0 0 0 0] 5 " Fully Connected 10 Fully Connected Layer 6 " Softmax Softmax 7 " Classification Output crossentropyex

创建一个具有重叠池区的平均池层。

layer = averagePooling2dLayer([3 2],“步”,2)
layer = AveragePooling2DLayer with properties: Name: " Hyperparameters PoolSize: [3 2] Stride: [2 2] PaddingMode: 'manual' PaddingSize: [0 0 0 0 0] PaddingValue: 0

该层创建大小为[32 2]的池化区域,并取每个区域中六个元素的平均值。池化区域重叠是因为包括小于各自池化维度的维度PoolSize

中包含具有重叠池化区域的平均池化层数组中。

层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer averagePooling2dLayer([3 2],“步”,2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
2 " Convolution 20 5x5 convolutions with stride [1 1] and padding [0 0 0 0 0] 3 " ReLU ReLU 4 " Average Pooling 3x2 Average Pooling with stride [2 2] and padding [0 0 0 0 0] 5 " Fully Connected 10 Fully Connected Layer 6 " Softmax Softmax 7 " Classification Output crossentropyex

更多关于

全部展开

参考文献

[1] Nagi, J. F. Ducatelle, G. A. Di Caro, D. Ciresan, U. Meier, A. Giusti, F. Nagi, J. Schmidhuber, L. M. Gambardella。“基于视觉手势识别的最大池化卷积神经网络”。IEEE信号与图像处理应用国际会议(ICSIPA2011), 2011年。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

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

在R2016a中引入