卷积网络(conv)中步长、填充、卷积核大小与输入输出大小的关系
目录1、stride =11)没有padding :o = (i - k) + 12)有padding半填充:输入输出一样大 o = i(卷积核是基数)全填充 :o = i + (k - 1)2、stride ≠1: o = [( i + 2p-k) / s] + 11)没有padding2)有padding3、统一的公式:o = [( i + 2p- k) / s] + 1在设计深度学习网络的时
文章共1,037字 · 阅读需要大约4分钟
一键AI生成摘要,助你高效阅读
问答
·
目录
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
2、stride ≠1: o = [( i + 2p -k) / s] + 1
1)没有padding
2)有padding
3、统一的公式:o = [( i + 2p - k) / s] + 1
更多推荐
已为社区贡献1条内容
所有评论(0)