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 下,通道维度被视为输入和输出数组的最后一个维度.
  • kernelstride 的设置可以是下列形式:
  • 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 常常用在 NetChainNetGraph 等中.
  • 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)

创建内核尺寸为 5×5PoolingLayer

创建一维 PoolingLayer

将层应用于输入矩阵:

范围  (4)

创建具有 4 步幅的一维 PoolingLayer,并将其应用于输入:

使用内核尺寸 2 创建初始化的三维 PoolingLayer

将层应用于输入数组:

创建具有非对称步长的二维 PoolingLayer,并将其应用于输入:

创建二维 PoolingLayer,接受一个图像,并返回一个图像:

将图层应用于图像:

该图层线性作用于一组范例:

选项  (6)

"Function"  (2)

可以为池化指定不同的聚合函数:

制作在两个测试图像上的不同池化函数的效果表:

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 年).

文本

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 年

BibTeX

@misc{reference.wolfram_2024_poolinglayer, author="Wolfram Research", title="{PoolingLayer}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/PoolingLayer.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_poolinglayer, organization={Wolfram Research}, title={PoolingLayer}, year={2021}, url={https://reference.wolfram.com/language/ref/PoolingLayer.html}, note=[Accessed: 22-November-2024 ]}