主要内容

averagePooling3dLayer

三维平均池化层

描述

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

层池的尺寸取决于层输入:

  • 对于3-D图像输入(5维数据,对应于3个空间维度中的像素、通道和观测值),该层在空间维度上进行池化。

  • 对于三维图像序列输入(六个维度的数据对应于三维空间维度的像素、通道、观测值和时间步长),该层在空间维度上进行池化。

  • 对于2-D图像序列输入(5维数据,对应于两个空间维度的像素,通道,观测值和时间步长),该层在空间和时间维度上进行池化。

创建

描述

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

例子

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

输入参数

全部展开

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:averagePooling3dLayer(2步,2)根据池的大小创建一个三维平均池层[2 2 2]和步[2 2 2]

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

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

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

  • 三元素向量[a b c]的非负整数-添加填充大小一个到顶部和底部,大小填充b向左和向右,以及大小的填充c到输入的前面和后面。

  • 2×3矩阵[t l f;b r k]的非负整数-添加填充大小t到了顶端,b到底,l在左边,r在右边,f到前面,然后k到输入的后面。换句话说,在三维空间中,第一行指定预添加,第二行定义后添加。

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

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

属性

全部展开

平均分担

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

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

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

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

在三维中遍历输入的步长,指定为向量[a b c]三个正整数,其中一个是竖直步长,b水平步长,和c是沿深度方向的步长。在创建层时,您可以指定作为一个标量,在三个方向上对步长使用相同的值。

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

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

例子:[2 3 1]指定垂直步长为2,水平步长为3,以及深度为1的步长。

要应用于输入边框的填充大小,指定为2 × 3矩阵[t l f;b r k]非负整数,其中t而且b是否在垂直方向上应用于顶部和底部的填充,l而且r填充是否应用于水平方向的左和右,以及f而且k是填充应用到前面和后面沿深度。换句话说,在三维空间中,第一行指定预添加,第二行定义后添加。

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

例子:[1 2 4;1 2 4]在顶部和底部添加一行填充,在左边和右边添加两列填充,在输入的前面和后面添加四个平面填充。

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

的值由软件自动设置PaddingMode基于你在创建图层时指定的Padding值。

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

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

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

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

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

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

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

数据类型:字符|字符串

此属性是只读的。

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

数据类型:

此属性是只读的。

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

数据类型:细胞

此属性是只读的。

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

数据类型:

此属性是只读的。

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

数据类型:细胞

例子

全部折叠

创建一个3-D平均池化层,其中包含不重叠的池化区域,将采样降低到原来的1 / 2。

层= averagePooling3dLayer(2,“步”, 2)
PoolSize: [2 2 2] Stride: [2 2 2] PaddingMode: 'manual' PaddingSize: [2x3 double] PaddingValue: 0

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

层= [...image3dInputLayer([28 28 28 3]) convolution3dLayer(5,20) reluLayer averagePooling3dLayer(2,“步”,2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
2 " 3-D Convolution 20 5x5x5 convolutions with stride [1 1 1 1] and padding [0 0 0;0 0 0] 3 " ReLU ReLU 4 " 3- d平均池2x2x2平均池与步幅[2 2 2]和填充[0 0 0;0 0 0] 5 "全连接10全连接层6 " Softmax Softmax 7 "分类输出

创建一个3-D平均池层与重叠池区域和填充的顶部和底部的输入。

layer = averagePooling3dLayer([3 2 2],“步”2,“填充”,[1 0 0])
layer = AveragePooling3DLayer with properties: Name: "超参数PoolSize: [3 2 2] Stride: [2 2 2] PaddingMode: 'manual' PaddingSize: [2x3 double] PaddingValue: 0

该层创建大小为3 × 2 × 2的池化区域,并取每个区域中12个元素的平均值。所有维度的步幅都是2。池化区域重叠是因为有步幅尺寸小于相应的池化维度PoolSize

算法

全部展开

版本历史

在R2019a中引入