主要内容

maxPooling2dLayer

马克斯池层

描述

一层二维最大池执行downsampling除以输入矩形池区域,然后计算每个区域的最大。

创建

描述

= 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]非负整数的加衬垫的大小一个顶部和底部的输入和衬垫的大小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“相同”和计算填充在训练时间的大小,输出具有相同的大小作为输入时,步幅等于1。如果跨越大于1,那么输出大小装天花板(inputSize /步),在那里inputSize的高度或宽度输入和在相应的维度是进步。软件增加了相同数量的顶部和底部填充,和左和右,如果可能的话。如果必须添加垂直的填充一个奇怪的价值,那么软件添加额外的衬垫底部。如果必须添加的填充水平有一个奇怪的价值,然后软件添加额外的填充。

请注意

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

大小的衬垫适用于输入垂直和水平边界,指定为一个向量[b]两个非负整数,一个填充应用于输入数据和顶部和底部b填充用于左和右。

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

国旗为输出unpooling层,指定为真正的

如果HasUnpoolingOutputs值=,那么马克斯池层只有一个输出的名称“出”

使用max池层的输出作为输入到一个马克斯unpooling图层,设置HasUnpoolingOutputs价值真正的。在这种情况下,马克斯池层有两个额外的输出,您可以连接到一个马克斯unpooling层:

  • “指标”-指数的最大值在每一集中地区。

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

使输出马克斯unpooling层,马克斯池的池区域层必须不重叠的。

为更多的信息关于如何unpool马克斯池的输出层,明白了maxUnpooling2dLayer

图层名称,指定为一个特征向量或字符串标量。为数组输入,trainNetwork,assembleNetwork,layerGraph,dlnetwork函数自动分配层的名称的名字设置为

数据类型:字符|字符串

这个属性是只读的。

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

数据类型:

这个属性是只读的。

输入层的名称。这一层只接受一个输入。

数据类型:细胞

输出层的数量。

如果HasUnpoolingOutputs值=,那么马克斯池层只有一个输出的名称“出”

使用max池层的输出作为输入到一个马克斯unpooling图层,设置HasUnpoolingOutputs价值真正的。在这种情况下,马克斯池层有两个额外的输出,您可以连接到一个马克斯unpooling层:

  • “指标”-指数的最大值在每一集中地区。

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

使输出马克斯unpooling层,马克斯池的池区域层必须不重叠的。

为更多的信息关于如何unpool马克斯池的输出层,明白了maxUnpooling2dLayer

数据类型:

输出层的名称。

如果HasUnpoolingOutputs值=,那么马克斯池层只有一个输出的名称“出”

使用max池层的输出作为输入到一个马克斯unpooling图层,设置HasUnpoolingOutputs价值真正的。在这种情况下,马克斯池层有两个额外的输出,您可以连接到一个马克斯unpooling层:

  • “指标”-指数的最大值在每一集中地区。

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

使输出马克斯unpooling层,马克斯池的池区域层必须不重叠的。

为更多的信息关于如何unpool马克斯池的输出层,明白了maxUnpooling2dLayer

数据类型:细胞

例子

全部折叠

创建一个马克斯池层与不重叠的集中地区。

层= maxPooling2dLayer (2“步”,2)
层= MaxPooling2DLayer属性:名称:“HasUnpoolingOutputs: 0 NumOutputs: 1 OutputNames:{“出”}Hyperparameters PoolSize:[2 2]大步:[2 2]PaddingMode:“手动”PaddingSize: [0 0 0 0]

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

包括一个马克斯池层与不重叠的区域数组中。

层= [imageInputLayer([1] 28日28日)convolution2dLayer (5、20) reluLayer maxPooling2dLayer (2“步”,2)fullyConnectedLayer (10) softmaxLayer classificationLayer]
层= 7 x1层与层:数组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”分类输出

创建一个马克斯池层重叠的集中地区。

2层= maxPooling2dLayer ([3],“步”,2)
层= MaxPooling2DLayer属性:名称:“HasUnpoolingOutputs: 0 NumOutputs: 1 OutputNames:{“出”}Hyperparameters PoolSize: 2[3]大步:[2 2]PaddingMode:“手动”PaddingSize: [0 0 0 0]

这一层创建池区域的大小(3 - 2),在每个地区最大的六个元素。池区域重叠,因为有跨维度小于相应的池尺寸PoolSize

包括一个马克斯池层重叠的池地区数组中。

层= [imageInputLayer([1] 28日28日)convolution2dLayer (5、20) reluLayer maxPooling2dLayer (2 [3],“步”,2)fullyConnectedLayer (10) softmaxLayer classificationLayer]
层= 7 x1层与层:数组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”分类输出

更多关于

全部展开

引用

[1]Nagi, J。,F. Ducatelle, G. A. Di Caro, D. Ciresan, U. Meier, A. Giusti, F. Nagi, J. Schmidhuber, L. M. Gambardella. ''Max-Pooling Convolutional Neural Networks for Vision-based Hand Gesture Recognition''.IEEE国际会议在信号和图像处理应用程序(ICSIPA2011),2011年。

扩展功能

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

GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。

介绍了R2016a