卷积网络(conv)中步长、填充、卷积核大小与输入输出大小的关系

目录

1、stride =1

1)没有padding :o = (i - k) + 1

2)有padding

半填充:输入输出一样大 o = i(卷积核是基数)

全填充 :o = i + (k - 1)

2、stride ≠1:  o = [( i + 2p -k) / s] + 1

1)没有padding 

2)有padding 

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

  • 16
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值