Pytorch中的nn.AdaptiveAvgPool2d(output_size)简单介绍

文章目录

  • 1 什么是池化?(Pooling)
  • 2 adaptivePooling和GeneralPooling
  • 3 代码调用

1 什么是池化?(Pooling)

  1. Pooling,池化层,又称下采样、汇聚层,是从样本中再选样本的过程。是为了缩减数据维度的操作。
  2. Pooling主要分两类:①最大池化(Max pooling)②均值池化(Avg pooling)
    前者是取size×size中最大值。后者是采用平均值。

2 adaptivePooling和GeneralPooling

  • AdaptivePooling,自适应池化层。使用这种池化方式,核(kernal)和步长(stride)是函数根据输入的原始尺寸、目标尺寸自动计算出来的。

  • GeneralPooling,非自适应池化层,需要指定核的大小和步长。

3 代码调用

  • 无需自己实现底层代码,可以直接调用torch.nn.AdaptiveAvgPool2d(X)
  1. 非自适应方式的调用
# 最大池化
out = nn.MaxPool2d(kernel_size=2,stride=2)  

# 均值池化
out = nn.AvgPool2d(kernel_size=2,stride=2)  
  1. 自适应方式的调用
    这里只需要指定output_size, 一个参数代表W和H相同,也可以自定义(H,W)
# 自适应最大池化
out=nn.AdaptiveAvgPool2d(output_size=100)

# 自适应均值池化
out=nn.AdaptiveMaxPool2d((10, 15))

你可能感兴趣的:(PyTorch深度学习,pytorch,数据预处理,机器学习,下采样)