卷积和反卷积的计算公式

今天,小编来总结下卷积和反卷积的计算公式,希望帮到大家。

卷积

✅经过卷积操作后,输出结果为:

图片

✅若想让输入与输出大小一样,则步长必须为1,并且填充要满足:

图片

因此,卷积核通常为奇数,比较常用的组合有:kenrel_size=1, padding=1, stride=1和kernel_size=5, padding=2, stride=1。

✅若想让输出为输入的一半,则步长必须为2且:

图片

常用组合为:stride=2, kernel=3, padding=1。注意如果出现除不尽的情况,则一律向下取整。
✅对于pooling,计算和conv一样。不过pooling没有padding,因此:

图片

反卷积

✅转置卷积的计算公式为:

图片

转置卷积中的padding作用于卷积正好相反,是将最外层的去掉一圈,所以带有padding的反卷积输出为:

图片

✅如果要像conv那样在外围加0的话,pytorch中可以使用output_padding参数。实现2倍上采样,需要: stride=2, kernel_size=2*padding+2。常用组合为:stride=2, kernel=2, padding=0、stride=2, kernel_size=4, padding=1, 这样能实现2倍上采样:

图片

卷积中的dilation

dilation又称为 atrous convolutions,即在卷积核的相邻元素之间增加spacing。dilation_rate由参数d控制,通常添加d-1个空格进入kernel中。d=1时表示普通的卷积操作。
dilated conv可以在不增加卷积核大小的情况下增大感受野,同时不增加额外开销,在多个扩张卷积逐次堆叠的情况下尤其有效。dilated conv有效卷积核大小为:

图片

因此dilated conv的输出大小为:

图片

举例如下:

图片

注:原文链接:https://blog.csdn.net/u012897374/article/details/114381786

最后:

如果你想要进一步了解更多的相关知识,可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!

5a8015ddde1e41418a38e958eb12ecbd.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MatpyMaster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值