池化这个操作原理非常简单,相信大家都很容易搞懂,那么这篇博客就主要从代码来谈谈吧。
首先还是简单介绍一下原理(不是我偷懒想要简单介绍,是因为这个东西介绍起来本身就很简单)
所谓的池化目的就是抽象,把一大片面积总结成一个数,比方说一副100*100的图,我们每50*50的区域就取一个最大值,共计能取4个最大值,那么这个2*2的最大值图像就是池化后的图像了。
上图是一个20*20的图经过size为10步长也为10的池化,最后生成了一个2*2的图。其实最后生成的图与池化的size并没有什么直接关系,真正影响他的是池化的步长,也就是说这一操作不仅可以像上图那样紧挨着移动,还可以隔着几格移动,例如步长如果是11那么就是隔着一格移动了。当然也可以重叠的移动,例如步长是5那么每两个中间就重叠了五格。至于最后如果有出界的情况怎么办。我采取的办法是把出界的部分延长,当0来考虑,反正是求最大值,相当于就没有考虑他们。
这样的话池化结果的大小应该就是原图的大小/步长,如果是小数并且按我的延长方法处理的话就