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

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

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 结语

通过五千次定量循环实验发现,自适应最大值池化和两种自定义池化的效率排序为:最大值池化 ≈ 均值池化 > 自适应池化。

目录
打赏
0
0
0
0
14
分享
相关文章
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
1259 0
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
ShuffleNet:极致轻量化卷积神经网络(分组卷积+通道重排)
我们引入了一个高效计算的CNN结构名字叫做shuffleNet,这个结构被设计用来解决部署算力非常有限的移动设备问题,这个新的结构使用了两个新的操作,pointwise group convolution 和 channel shuffle能够在极大减少计算量的同时保持一定的精度。我们在ImageNet classification和MS COCO目标检测数据集上做实验论证了ShuffleNet和其他的结构相比有着很好的性能。比如,相比于mobilenet,shufflenet在ImageNet 分类任务上有着更低的top-1错误率(错误率是7.8%)需要的计算量为40MFLOPs。在一个AR
1863 0
ShuffleNet:极致轻量化卷积神经网络(分组卷积+通道重排)
RT-DETR改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
RT-DETR改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
38 11
RT-DETR改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
RT-DETR改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
RT-DETR改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
34 9
RT-DETR改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
YOLOv11改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
YOLOv11改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
13 0
YOLOv11改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
YOLOv11改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
YOLOv11改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
22 0
YOLOv11改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
【YOLOv8改进 - 注意力机制】NAM:基于归一化的注意力模块,将权重稀疏惩罚应用于注意力机制中,提高效率性能
**NAM: 提升模型效率的新颖归一化注意力模块,抑制非显著权重,结合通道和空间注意力,通过批量归一化衡量重要性。在Resnet和Mobilenet上的实验显示优于其他三种机制。源码见[GitHub](https://github.com/Christian-lyc/NAM)。**
快7倍 | SpirDet基于降采样正交重参化+稀疏解码器有效减少延迟,同时提升小目标检测精度
快7倍 | SpirDet基于降采样正交重参化+稀疏解码器有效减少延迟,同时提升小目标检测精度
149 0
别再用平均池化层了!Meta AI把注意力塞到池化层,性能立刻提升0.3
注意力机制这么好用,怎么不把它塞到卷积网络里?最近Meta AI的研究人员提出了一个基于注意力的池化层,仅仅把平均池化层替换掉,就能获得+0.3%的性能提升!
353 0
别再用平均池化层了!Meta AI把注意力塞到池化层,性能立刻提升0.3