自适应池化、最大值池化和均值池化效率的比较分析

简介: 自适应池化、最大值池化和均值池化效率的比较分析

1 问题

我们在深度学习的过程中,我们学到了自适应池化、最大值池化和均值池化。那么,我们想要探究一下自适应池化、最大值池化和均值池化效率,哪一个更高?


2 方法

在之前的学习中,我们学到了自适应池化、最大值池化和均值池化,三种池化方式的运行速率的运行效率是如何的呢,我们使用对照实验将几种池化方式比较出来。

首先呢,我们先定义卷积层,直接转换输入的通道数:

conv = nn.Conv2d(

  in_channels=1,  # 输入为单通道灰度图

  out_channels=128,   # 输出为128通道img

  kernel_size=3,

  stride=1,

  padding=1

)  # [-, 16, 28, 28]

然后我们定义三种池化方式:

avg_pool = nn.AvgPool2d(    

  kernel_size=2,

  stride=28

)

max_pool = nn.MaxPool2d(    

  kernel_size=2,

  stride=28  

)  

adapt_max_pool = nn.AdaptiveMaxPool2d(

  output_size=1

)

在过后定义函数的调用

def stack_customized_max_pool(x):

  x = conv(x)

  out = max_pool(x)

  return out

def stack_customized_avg_pool(x):

  x = conv(x)

  out = avg_pool(x)

  return out

def stack_self_adapted(x):

  x = conv(x)

  out = adapt_max_pool(x)

return out

接着我们定义主函数:

if __name__ == '__main__':

  solution_list=[stack_customized_avg_pool,stack_customized_max_pool,stack_self_adapted]

  x = torch.rand(128, 1, 28, 28)

  for i in solution_list:

      start = time.time()

      for _ in range(5000):

          out = i(x)

      end = time.time()

      print(f'{i}的时间为:')

      print(end-start)

      print(out.shape)

最后打印结果为:

其中,自适应函数的运行原理为:

通过输入的output_size计算得到kernel_size、stride两个参数,padding参数默认为0。

计算公式如下:


3 结语

通过实验经过了许多次的定量循环实验,过程中我们也产生过了其他的方式,但是都没有这样的来得明显,再经过查阅了一定的资料,最终我们发现自适应最大值池化和两种自定义池化的效率为:最大值池化 ≈ 均值池化 > 自适应池化。

目录
相关文章
|
机器学习/深度学习
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
1205 0
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
|
4月前
|
机器学习/深度学习 编解码 PyTorch
【YOLOv8改进】HWD: Haar小波降采样,用于语义分割的降采样模块,减少特征图的空间分辨率
YOLOv8专栏探讨了卷积网络的改进,特别是提出了一种名为HWD的基于Haar小波的下采样模块,用于语义分割,旨在保留更多空间信息。HWD结合了无损编码和特征表示学习,提高了模型性能并减少了信息不确定性。新度量标准FEI量化了下采样的信息保留能力。论文和代码可在提供的链接中找到。核心代码展示了如何在PyTorch中实现HWD模块。
|
4月前
|
机器学习/深度学习 算法 计算机视觉
【YOLOv10改进 -卷积Conv】 AKConv(可改变核卷积):任意数量的参数和任意采样形状的即插即用的卷积
AKConv是一种可改变核卷积,旨在解决传统卷积的局限,包括固定大小的卷积窗口和卷积核尺寸。AKConv提供灵活的卷积核参数和采样形状,适应不同尺度特征。其创新点包括:1)支持任意大小和形状的卷积核;2)使用新算法确定初始采样位置;3)应用动态偏移调整采样位置;4)优化模型参数和计算效率。AKConv已应用于YOLOv8,提高网络性能。相关代码可在<https://github.com/CV-ZhangXin/AKConv>找到。
|
6月前
|
机器学习/深度学习 传感器 编解码
快7倍 | SpirDet基于降采样正交重参化+稀疏解码器有效减少延迟,同时提升小目标检测精度
快7倍 | SpirDet基于降采样正交重参化+稀疏解码器有效减少延迟,同时提升小目标检测精度
115 0
|
机器学习/深度学习 人工智能 数据可视化
别再用平均池化层了!Meta AI把注意力塞到池化层,性能立刻提升0.3
注意力机制这么好用,怎么不把它塞到卷积网络里?最近Meta AI的研究人员提出了一个基于注意力的池化层,仅仅把平均池化层替换掉,就能获得+0.3%的性能提升!
317 0
别再用平均池化层了!Meta AI把注意力塞到池化层,性能立刻提升0.3
自适应池化、最大值池化和均值池化效率的比较探究
自适应池化、最大值池化和均值池化效率的比较探究
165 0
|
机器学习/深度学习
最大值池化与均值池化比较分析
最大值池化与均值池化比较分析
132 0
|
机器学习/深度学习 存储 编解码
深度学习基础入门篇[9.3]:卷积算子:空洞卷积、分组卷积、可分离卷积、可变性卷积等详细讲解以及应用场景和应用实例剖析
深度学习基础入门篇[9.3]:卷积算子:空洞卷积、分组卷积、可分离卷积、可变性卷积等详细讲解以及应用场景和应用实例剖析
209 0
|
机器学习/深度学习 存储 编解码
分组卷积/转置卷积/空洞卷积/反卷积/可变形卷积/深度可分离卷积/DW卷积/Ghost卷积/
分组卷积/转置卷积/空洞卷积/反卷积/可变形卷积/深度可分离卷积/DW卷积/Ghost卷积/
分组卷积/转置卷积/空洞卷积/反卷积/可变形卷积/深度可分离卷积/DW卷积/Ghost卷积/
|
机器学习/深度学习 算法 语音技术
自适应线性单元|学习笔记
快速学习自适应线性单元
自适应线性单元|学习笔记