主要内容

maxPooling2dLayer

描述

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

创造

描述

=maxPooling2dLayer(poolSize创建最大池层并设置PoolSize财产。

例子

=maxPooling2dLayer(poolSize名称,值设置可选的大步走名称HasUnpoolingOutputs属性。若要指定输入填充,请使用“填充”名称-值对参数。例如,maxPooling2dLayer(2步,3)创建一个最大池大小的池层[2 2]大步[3 3]。您可以指定多个名称-值对。请用单引号将每个属性名称括起来。

输入参数

全部展开

名称-值对的观点

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

例子:maxPooling2dLayer(2步,3)创建一个最大池大小的池层[2 2]大步[3 3]

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

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

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

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

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

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

例子:“填充”,“相同”添加填充,使输出与输入具有相同的大小(如果步幅等于1)。

性质

全部展开

马克斯池

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

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

填充的维度填充尺寸必须小于池域的维度PoolSize

例子:[2 1]指定高度为2、宽度为1的池区域。

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

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

填充的维度填充尺寸必须小于池域的维度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输入和输出的高度或宽度为相应维度的步幅。如果可能的话,软件会在顶部和底部,以及左边和右边添加相同数量的填充。如果必须垂直添加的填充有奇数值,则软件会在底部添加额外的填充。如果必须水平添加的填充有奇数值,则软件会向右侧添加额外的填充。

请注意

填充属性将在未来的版本中被删除。使用填充尺寸相反,在创建图层时,请使用“填充”用于指定填充大小的名称-值对参数。

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

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

输出到非池层的标志,指定为符合事实的

如果HasUnpoolingOutputs值=,则最大池层有一个名为“出”

要使用最大池化层的输出作为最大非池化层的输入,可以设置HasUnpoolingOutputs价值符合事实的.在这种情况下,最大池化层有两个额外的输出,你可以连接到最大非池化层:

  • “指标”—每个池区域的最大值指标。

  • “大小”—输入特征图的大小。

要使输出到最大非池层,最大池层的池区域必须是不重叠的。

有关如何取消最大池化层的输出池的更多信息,请参见MaxUnpolling2dlayer

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

数据类型:字符|一串

此属性是只读的。

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

数据类型:

此属性是只读的。

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

数据类型:细胞

层输出的数量。

如果HasUnpoolingOutputs值=,则最大池层有一个名为“出”

要使用最大池化层的输出作为最大非池化层的输入,可以设置HasUnpoolingOutputs价值符合事实的.在这种情况下,最大池化层有两个额外的输出,你可以连接到最大非池化层:

  • “指标”—每个池区域的最大值指标。

  • “大小”—输入特征图的大小。

要使输出到最大非池层,最大池层的池区域必须是不重叠的。

有关如何取消最大池化层的输出池的更多信息,请参见MaxUnpolling2dlayer

数据类型:

输出层的名称。

如果HasUnpoolingOutputs值=,则最大池层有一个名为“出”

要使用最大池化层的输出作为最大非池化层的输入,可以设置HasUnpoolingOutputs价值符合事实的.在这种情况下,最大池化层有两个额外的输出,你可以连接到最大非池化层:

  • “指标”—每个池区域的最大值指标。

  • “大小”—输入特征图的大小。

要使输出到最大非池层,最大池层的池区域必须是不重叠的。

有关如何取消最大池化层的输出池的更多信息,请参见MaxUnpolling2dlayer

数据类型:细胞

例子

全部折叠

创建具有非重叠池区域的最大池层。

层= maxPooling2dLayer (2“步”, 2)
layer = MaxPooling2DLayer with properties: Name: " HasUnpoolingOutputs: 0 NumOutputs: 1 OutputNames: {'out'} Hyperparameters PoolSize: [2 2] Stride: [2 2] PaddingMode: 'manual' PaddingSize: [0 0 0 0]

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

包括一个最大池层,该层中包含非重叠区域数组中。

层= [...imageInputLayer([28 28 1])卷积2dlayer (5,20) reluLayer maxPooling2dLayer(2, 20)“步”,2) fulllyconnectedlayer (10) softmaxLayer classifier]
layers=7x1层阵列,带层:1''图像输入28x28x1图像,带“零中心”规格化2''卷积20 5x5卷积,带跨步[1]和填充[0 0 0 0 0 0 0]3''ReLU ReLU 4''最大池2x2最大池,带跨步[2]和填充[0 0 0 0 0 0]5''全连接10''全连接层6''Softmax Softmax 7''分类输出crossentropyex

创建一个最大池化层与重叠池区域。

layer = maxPooling2dLayer([3 2],“步”, 2)
layer = MaxPooling2DLayer with properties: Name: " HasUnpoolingOutputs: 0 NumOutputs: 1 OutputNames: {'out'} Hyperparameters PoolSize: [3 2] Stride: [2 2] PaddingMode: 'manual' PaddingSize: [0 0 0 0]

该层创建大小为[3 2]的池区域,并在每个区域中最多使用六个元素。池区域重叠,因为存在跨步维度大步走比各自的池规模小PoolSize

包括一个最大池层,该层中有重叠的池区域数组中。

层= [...imageInputLayer([28 28 1])卷积2dlayer (5,20) reluLayer maxPooling2dLayer([3 2],“步”,2) fulllyconnectedlayer (10) softmaxLayer classifier]
layers=7x1层阵列,带层:1''图像输入28x28x1图像,带“零中心”规格化2''卷积20 5x5卷积,带跨距[1]和填充[0 0 0 0 0]3''ReLU ReLU 4''最大池3x2最大池,带跨距[2]和填充[0 0 0 0 0]5''全连接10''全连接层6''Softmax Softmax 7''分类输出crossentropyex

更多关于

全部展开

参考文献

[1] Nagi,J.,F.Ducatele,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编码器为NVIDIA®GPU生成CUDA®代码™.

介绍了R2016a