maxPooling2dLayer
马克斯池层
描述
一层二维最大池执行downsampling除以输入矩形池区域,然后计算每个区域的最大。
创建
描述
创建一个马克斯池层和设置层
= maxPooling2dLayer (poolSize
)PoolSize
财产。
设置可选层
= maxPooling2dLayer (poolSize
,名称,值
)步
,的名字
,HasUnpoolingOutputs
属性使用名称-值对。指定输入填充,使用“填充”
名称-值对的论点。例如,maxPooling2dLayer(2步,3)
创建一个马克斯池层与池的大小(2 - 2)
和步[3 3]
。您可以指定多个名称-值对。在单引号附上每个属性的名字。
输入参数
使用逗号分隔的名称-值对参数指定的大小沿着边缘层的填充添加输入和设置步
,的名字
,HasUnpoolingOutputs
属性。在单引号附上名字。
例子:maxPooling2dLayer(2步,3)
创建一个马克斯池层与池的大小(2 - 2)
和步[3 3]
。
填充
- - - - - -输入边缘填充
[0 0 0 0]
(默认)|向量的非负整数|“相同”
输入边缘填充,指定为逗号分隔组成的“填充”
这些值之一:
“相同”
——添加填充大小计算软件的培训或预测时间,输出具有相同的大小作为输入时,步幅等于1。如果跨越大于1,那么输出大小装天花板(inputSize /步)
,在那里inputSize
的高度或宽度输入和步
在相应的维度是进步。软件增加了相同数量的顶部和底部填充,和左和右,如果可能的话。如果必须添加垂直的填充一个奇怪的价值,那么软件添加额外的衬垫底部。如果必须添加的填充水平有一个奇怪的价值,然后软件添加额外的填充。非负整数
p
——添加填充的大小p
所有输入的边缘。向量
[b]
非负整数的加衬垫的大小一个
顶部和底部的输入和衬垫的大小b
左和右。向量
[t b l r]
非负整数的加衬垫的大小t
前,b
底部,l
向左,r
右边的输入。
例子:“填充”,1
添加一行的顶部和底部填充,和一列填充左边和右边的输入。
例子:“填充”,“相同”
添加填充,这样输出具有相同的大小作为输入(如果步幅等于1)。
属性
马克斯池
PoolSize
- - - - - -池区域的尺寸
向量的两个正整数
维度的池区域,指定为一个向量的两个正整数[w h]
,在那里h
是身高和w
是宽度。创建层时,您可以指定PoolSize
作为一个两维标量使用相同的值。
如果跨维度步
不到各自的池尺寸,然后池区域重叠。
填充的维度PaddingSize
必须小于池地区维度PoolSize
。
例子:(2 - 1)
指定池地区高度2和宽度1。
步
- - - - - -步长为遍历输入
[1]
(默认)|向量的两个正整数
步长为遍历输入垂直和水平两个正整数的指定为一个向量[b]
,在那里一个
垂直步长和吗b
是水平的步长。创建层时,您可以指定步
作为一个两维标量使用相同的值。
如果跨维度步
不到各自的池尺寸,然后池区域重叠。
填充的维度PaddingSize
必须小于池地区维度PoolSize
。
例子:3 [2]
指定一个垂直的步长2和3的水平步长。
PaddingSize
- - - - - -大小的填充
[0 0 0 0]
(默认)|向量的四个非负整数
大小的衬垫适用于输入边界,指定为一个向量[t b l r]
四个非负整数,t
填充应用于顶部,b
填充应用于底部,l
是填充应用到左边,r
向右填充应用。
当您创建一个层,使用“填充”
名称-值对参数来指定填充大小。
例子:[1 1 2 2]
添加一行的顶部和底部填充,和两列填充左边和右边的输入。
PaddingMode
- - - - - -方法来确定填充大小
“手动”
(默认)|“相同”
方法来确定填充大小,指定为“手动”
或“相同”
。
软件自动设置的值PaddingMode
基于“填充”
值指定在创建一个层。
如果你设置
“填充”
选择一个标量或矢量的非负整数,那么软件自动设置PaddingMode
来“手动”
。如果你设置
“填充”
选项“相同”
,那么软件自动设置PaddingMode
来“相同”
和计算填充在训练时间的大小,输出具有相同的大小作为输入时,步幅等于1。如果跨越大于1,那么输出大小装天花板(inputSize /步)
,在那里inputSize
的高度或宽度输入和步
在相应的维度是进步。软件增加了相同数量的顶部和底部填充,和左和右,如果可能的话。如果必须添加垂直的填充一个奇怪的价值,那么软件添加额外的衬垫底部。如果必须添加的填充水平有一个奇怪的价值,然后软件添加额外的填充。
填充
- - - - - -大小的填充
[0 0]
(默认)|向量的两个非负整数
请注意
填充
财产将在未来的版本中被删除。使用PaddingSize
代替。当创建一个层,使用“填充”
名称-值对参数来指定填充大小。
大小的衬垫适用于输入垂直和水平边界,指定为一个向量[b]
两个非负整数,一个
填充应用于输入数据和顶部和底部b
填充用于左和右。
例子:[1]
添加一行的顶部和底部填充,和一列填充左边和右边的输入。
HasUnpoolingOutputs
- - - - - -国旗为输出unpooling层
假
(默认)|真正的
国旗为输出unpooling层,指定为真正的
或假
。
如果HasUnpoolingOutputs
值=假
,那么马克斯池层只有一个输出的名称“出”
。
使用max池层的输出作为输入到一个马克斯unpooling图层,设置HasUnpoolingOutputs
价值真正的
。在这种情况下,马克斯池层有两个额外的输出,您可以连接到一个马克斯unpooling层:
“指标”
-指数的最大值在每一集中地区。“大小”
——输入特性图的大小。
使输出马克斯unpooling层,马克斯池的池区域层必须不重叠的。
为更多的信息关于如何unpool马克斯池的输出层,明白了maxUnpooling2dLayer
。
层
的名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
图层名称,指定为一个特征向量或字符串标量。为层
数组输入,trainNetwork
,assembleNetwork
,layerGraph
,dlnetwork
函数自动分配名称层的名称”
。
数据类型:字符
|字符串
NumInputs
- - - - - -输入数量
1
(默认)
这个属性是只读的。
输入层的数量。这一层只接受一个输入。
数据类型:双
InputNames
- - - - - -输入名字
{'在'}
(默认)
这个属性是只读的。
输入层的名称。这一层只接受一个输入。
数据类型:细胞
NumOutputs
- - - - - -数量的输出
1(默认)|3
输出层的数量。
如果HasUnpoolingOutputs
值=假
,那么马克斯池层只有一个输出的名称“出”
。
使用max池层的输出作为输入到一个马克斯unpooling图层,设置HasUnpoolingOutputs
价值真正的
。在这种情况下,马克斯池层有两个额外的输出,您可以连接到一个马克斯unpooling层:
“指标”
-指数的最大值在每一集中地区。“大小”
——输入特性图的大小。
使输出马克斯unpooling层,马克斯池的池区域层必须不重叠的。
为更多的信息关于如何unpool马克斯池的输出层,明白了maxUnpooling2dLayer
。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
(默认)|{“了”、“指数”,“大小”}
输出层的名称。
如果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”分类输出
算法
二维最大池层
一层二维最大池执行downsampling除以输入矩形池区域,然后计算每个区域的最大。
层池的尺寸取决于层输入:
对二维图像的输入(数据与在两维空间,四维空间对应像素的渠道,和观察),在空间维度层池。
对于二维图像序列输入(数据与五个维度对应像素在两个空间维度,通道,观察,和时间步长),在空间维度层池。
对于一维图像序列输入(数据与四维对应像素在一个空间维度,通道,观察,和时间步长),在空间和时间维度层池。
层的输入和输出格式
层一层一层数组或图后续层传递数据格式化dlarray
对象。的格式dlarray
对象是一个字符串,其中每个字符描述相应的维度的数据。这些字符的格式由一个或多个:
“S”
——空间“C”
——频道“B”
——批“T”
——时间“U”
——未指明的
例如,二维图像数据表示成一个四维数组,第一个二维对应于图像的空间维度,第三维对应于图像的通道,第四个维度对应批维度,可以被描述为有格式“SSCB”
(空间、空间、通道、批)。
你可以与这些交互dlarray
对象等自动分化工作流开发一个自定义图层,使用functionLayer
对象,或使用向前
和预测
功能与dlnetwork
对象。
此表显示了支持输入格式金宝appMaxPooling2DLayer
对象和相应的输出格式。如果输出层的传递给一个定制的层不继承nnet.layer.Formattable
类,或FunctionLayer
对象的Formattable
属性设置为0
(假),然后层接收未格式化dlarray
对象的尺寸要求相应的这个表的格式。
输入格式 | 输出格式 |
---|---|
|
|
|
|
|
|
引用
[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®编码器™。
使用笔记和限制:
如果= max值沿对角线外的存在于内核窗口,实现的差异maxPooling2dLayer
可能会导致轻微的MATLAB数值不匹配®和生成的代码。这个问题也会造成不匹配指数的最大值在每一集中地区。
例如,考虑下面的输入maxPooling2dLayer
。MATLAB的输出。
对于相同的输入,输出生成的代码所示。
GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。
使用笔记和限制:
如果= max值沿对角线外的存在于内核窗口,实现的差异maxPooling2dLayer
可能会导致轻微的MATLAB数值不匹配,生成的代码。这个问题也会造成不匹配指数的最大值在每一集中地区。
例如,考虑下面的输入maxPooling2dLayer
。MATLAB的输出。
对于相同的输入,输出生成的代码所示。
版本历史
介绍了R2016a
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。