PoolingLayer
PoolingLayer[sz]
用尺寸为 sz 的内核表示池化网层.
PoolingLayer[{w}]
表示内核尺寸为 w 且执行一维池化的层.
PoolingLayer[{h,w}]
表示内核尺寸为 h×w 且执行二维池化的层.
PoolingLayer[{h,w,d}]
表示内核尺寸为 h×w×d 且执行三维池化的层.
PoolingLayer[kernel,stride]
表示使用 stride 作为内核应用之间步长的层.
PoolingLayer[kernel,opts]
包括其它池化方法、填充及其它参数的选项.
更多信息和选项
- PoolingLayer[n,…] 表示这样一个层,当应用于带有 c 个输入通道和一个或多个空间维度的输入数组时,在空间维度上执行 c 个不同的池化操作以产生具有 c 个通道的输出数组.
- PoolingLayer[n] 等价于 PoolingLayer[n,1].
- 可以包括下列可选参数:
-
"Dimensionality" Automatic 池化的空间维数 "Function" Max 使用的聚合函数 Interleaving False 通道维度的位置 PaddingSize 0 加在输入中的零填充的数量 - 在设置 InterleavingFalse 下,通道维度被视为输入和输出数组的第一个维度.
- 在设置 InterleavingTrue 下,通道维度被视为输入和输出数组的最后一个维度.
- kernel 和 stride 的设置可以是下列形式:
-
n 对所有维度使用值 n {…,ni,…} 对第 i值 ni - PaddingSize 的设置可以是以下格式:
-
n 在开头和结尾用 n 个零填充每个维度 {n1,n2,…} 在开头和结尾用 n 个零填充第 i 个维度 {{n1,m1},{n2,m2},…} 在开头用 ni 个零,在结尾用 mi 个零填充第 i 个维度 "Same" - 填充每个维度使得输出尺寸等于输入尺寸除以步幅(向上舍入)
- PoolingLayer[…][input] 根据应用层显式计算输出.
- PoolingLayer[…][{input1,input2,…}] 显式计算每个 inputi 的输出.
- 当 NumericArray 作为输入时,输出将是 NumericArray.
- PoolingLayer 常常用在 NetChain、NetGraph 等中.
- NetExtract 可用于从 PoolingLayer 对象提取参数值.
- PoolingLayer 开放下列端口,以便用于 NetGraph 等:
-
"Input" 阶为 2、3 或 4 的数组 "Output" 阶为 2、3 或 4 的数组 - PoolingLayer 可以作用在包含 "Varying" 维度的数组上.
- "Function" 选项的可能的显式设置包括:
-
Max 所用的最大值 Mean 所用的平均值 Total 所用的值的总和 - 在较大的网络中,如果不能从其他层推导得出,可以使用选项 "Input"->{d1,…,dn} 来确定 PoolingLayer 的输入维度.
- 给出维度为 d1×…×di×… 的输入数组,输出数组维度为 ×…××…,其中通道维数保持未变(例如,d1=)并且空间维度的大小根据 进行变换,其中,/ 是轴的起点/端点的填充大小, 是内核大小, 是每个维度的步幅大小.
- Options[PoolingLayer] 给出构建网络层的默认选项的列表. Options[PoolingLayer[…]] 给出在一些数据上运行网络层的默认选项列表.
- Information[PoolingLayer[…]] 给出关于该网络层的报告.
- Information[PoolingLayer[…],prop] 给出 PoolingLayer[…] 的属性 prop 的值. 可能的属性与 NetGraph 相同.
范例
打开所有单元关闭所有单元基本范例 (2)
范围 (4)
创建具有 4 步幅的一维 PoolingLayer,并将其应用于输入:
使用内核尺寸 2 创建初始化的三维 PoolingLayer:
创建具有非对称步长的二维 PoolingLayer,并将其应用于输入:
创建二维 PoolingLayer,接受一个图像,并返回一个图像:
选项 (6)
Interleaving (1)
创建具有一个输入通道的 PoolingLayer,并且 InterleavingFalse :
创建具有一个输入通道的 PoolingLayer,并且 InterleavingTrue:
PaddingSize (3)
创建一个二维 PoolingLayer,在每边用 10 个零填充第一维,每边用 12 个零填充第二维:
创建二维 PoolingLayer,在开始用 10 个零,在结尾用 14 个零填充第一维:
属性和关系 (2)
输入维度为 {256,252} 的输出维度,其中内核尺寸为 3,步幅为 2,填充尺寸为 2:
这与用相同参数定义 PoolingLayer 一致
增大步幅会减少 PoolingLayer 的运算时间:
文本
Wolfram Research (2016),PoolingLayer,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PoolingLayer.html (更新于 2021 年).
CMS
Wolfram 语言. 2016. "PoolingLayer." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/PoolingLayer.html.
APA
Wolfram 语言. (2016). PoolingLayer. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/PoolingLayer.html 年