pytorch avg_pool2d
avg_pool2d用法
首先看一下官方文档解释
- input :输入张量
- kernel_size :pool的大小,可以是一个单个数字,也可以是一个tuple,如果是单个数字,例如2,就是(2,2)
- stride: pool移动的大小,可以为单个数字,也可以是一个tuple
- padding :在两侧填充0,可以为单个数字,也可以是一个tuple
- ceil_mode :如果为True,将在公式中使用ceil而不是floor来计算输出形状。
- count_include_pad :值为true时,将在平均计算中包括零填充,默认为True。
- divisor_override :如果指定,它将用作除数,否则将使用池化区域的大小。
首先看最简单的使用:
输入一个向量:
import torch
import torch.nn.functional as F
F.avg_pool2d(a,(1,2))#输入tensor为a,kernel_size为(1,2)
输出:
当输入的kernel为一个数字时:
F.avg_pool2d(a,2)#kernel_size为(2,2)
红框外面的是剩下的,默认不使用,如果想用可以设置ceil_mode ,下面讲解
stride参数的使用:
默认情况下stride大小为kernel_size的大小,这里设为1,就以1为单位向右向下移动。
padding 参数的使用:
在两侧填充0
ceil_mode 参数的使用:
如果为True,将在公式中使用ceil而不是floor来计算输出形状。
count_include_pad 参数的使用:
值为true时,将在平均计算中包括零填充,默认为True。
divisor_override 参数的使用:
如果指定,它将用作除数,否则将使用池化区域的大小。
参考
https://pytorch.org/docs/stable/nn.functional.html?highlight=avg_pool2d#torch.nn.functional.avg_pool2d