主要内容

averagePooling2dLayer

平均池层

描述

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

创建

描述

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

例子

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

输入参数

全部展开

名称-值对的观点

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

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

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

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

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

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

  • 向量[t b l r]非负整数-添加大小填充t前,b底部,l左边,还有r在输入的右边。

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

例子:“填充”,“相同”添加填充,使输出与输入具有相同的大小(如果步幅等于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 1 2 2]在输入的顶部和底部添加一行填充,并在输入的左侧和右侧添加两列填充。

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

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

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

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

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

当你使用“填充”选项添加填充到输入,应用的填充值可以是下列之一:

  • 0—输入在指定的位置用零填充“填充”选择。填充区域包含在沿边缘的池化区域平均值的计算中。

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

例子:“PaddingValue”,“的意思是”

请注意

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

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

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

层名,指定为字符向量或字符串标量。若要在层图中包含层,必须指定非空的唯一层名。如果你用层和的名字被设置为'',然后软件在训练时自动为该层分配一个名称。

数据类型:字符|字符串

层的输入数。这一层只接受单个输入。

数据类型:

输入层名。这一层只接受单个输入。

数据类型:细胞

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

数据类型:

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

数据类型:细胞

例子

全部折叠

用名称创建一个平均的池化层“avg1”

层= averagePooling2dLayer (2“名字”“avg1”
layer = AveragePooling2DLayer with properties: Name: 'avg1' Hyperparameters PoolSize: [2 2] Stride: [1 1] PaddingMode: 'manual' PaddingSize: [0 0 0 0] PaddingValue: 0

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

层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) relullayer averageepooling2dlayer (2) fulllyconnectedlayer (10) softmaxLayer classificationLayer]
图层数组:1”的形象输入28 x28x1图像zerocenter正常化2”卷积20 5 x5旋转步[1]和填充[0 0 0 0]3”ReLU ReLU 4”平均池2 x2平均池与步幅[1]和填充[0 0 0 0]5“完全连接10完全连接层6”Softmax Softmax crossentropyex 7”分类输出

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

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

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

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

层= [...imageInputLayer([28 28 1])卷积2dlayer (5,20) relullayer averageepooling2dlayer (2, 20)“步”,2) fulllyconnectedlayer (10) softmaxLayer classifier]
图层数组:1”的形象输入28 x28x1图像zerocenter正常化2”卷积20 5 x5旋转步[1]和填充[0 0 0 0]3”ReLU ReLU 4”平均池2 x2平均池步(2 - 2)和填充[0 0 0 0]5“完全连接10完全连接层6”Softmax Softmax crossentropyex 7”分类输出

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

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

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

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

层= [...imageInputLayer([28 28 1])卷积2dlayer (5,20) relullayer averageepooling2dlayer ([3 2],“步”,2) fulllyconnectedlayer (10) softmaxLayer classifier]
图层数组:1”的形象输入28 x28x1图像zerocenter正常化2”卷积20 5 x5旋转步[1]和填充[0 0 0 0]3”ReLU ReLU 4”平均池3 x2平均池步(2 - 2)和填充[0 0 0 0]5“完全连接10完全连接层6”Softmax Softmax crossentropyex 7”分类输出

更多关于

全部展开

参考文献

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

扩展功能

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

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

介绍了R2016a