目录
2、stride ≠1: o = [( i + 2p -k) / s] + 1
3、统一的公式:o = [( i + 2p - k) / s] + 1
在设计深度学习网络的时候,需要计算输入尺寸和输出尺寸,那么就要设计卷积层的的各种参数。这里有一些设计时候的计算公式,方便得到各层的参数。
具体可以参考这篇文章:A guide to convolution arithmetic for deep learning
这里简化下,约定:
- i:输入尺寸input
- o:输出output
- s:步长sride、
- p:填充padding(一般都是零)
- k:卷积核(kernel)大小
先按照步长来区分,然后按照padding区分
1、stride =1
1)没有padding :o = (i - k) + 1
2)有padding
统一公式
-
半填充:输入输出一样大 o = i(卷积核是基数)
也就是说,padding的大小是kernel的“小”一半,5*5的核半填充padding就是5/2 = 2.5 = 2(向下取整),让原图像边缘当填充后卷积图像的中心
这里要注意的是2p实际是不等于k的,实际是2p = 2n ≠ 2n+1,所以,上式不等于i+1
-
全填充 :o = i + (k - 1)
也就是说,padding的大小是kernel-1