pooling池化操作的代码详解

这篇博客主要通过代码来探讨池化操作。池化的目的是抽象,将图像区域简化为一个数值,如将100*100的图像每50*50区域取最大值,形成2*2的池化图像。步长影响池化结果的大小,不一定是size的因子,可以是任意间隔。出界情况可通过延长边界并视为0来处理。代码实现中,遍历原图,每个区域找到最大值并赋值到新结果中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

池化这个操作原理非常简单,相信大家都很容易搞懂,那么这篇博客就主要从代码来谈谈吧。

首先还是简单介绍一下原理(不是我偷懒想要简单介绍,是因为这个东西介绍起来本身就很简单偷笑

所谓的池化目的就是抽象,把一大片面积总结成一个数,比方说一副100*100的图,我们每50*50的区域就取一个最大值,共计能取4个最大值,那么这个2*2的最大值图像就是池化后的图像了。

上图是一个20*20的图经过size为10步长也为10的池化,最后生成了一个2*2的图。其实最后生成的图与池化的size并没有什么直接关系,真正影响他的是池化的步长,也就是说这一操作不仅可以像上图那样紧挨着移动,还可以隔着几格移动,例如步长如果是11那么就是隔着一格移动了。当然也可以重叠的移动,例如步长是5那么每两个中间就重叠了五格。至于最后如果有出界的情况怎么办。我采取的办法是把出界的部分延长,当0来考虑,反正是求最大值,相当于就没有考虑他们。

这样的话池化结果的大小应该就是原图的大小/步长,如果是小数并且按我的延长方法处理的话就

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值