CNN中常见卷积操作输出计算

  • 一般卷积计算输出计算, M=\frac{N+2*Pad-kernal}{stride}+1 ,其中N为输入N×N图像的一边长、Pad为Padding填充数、kernal为卷积核(一般3×3)的单边数、stride为kernal的移动步长。
这里需要注意,M为向下取正,所以当(P=1, K=3, S=2)时,N=5与N=6计算得到M都为3
  • Dilated卷积输出计算, M=\frac{N+2*Pad-(kernal*dilationrate-1)}{stride}+1 ,其中dilaterate就为空洞数、核间隔( dilationrate\geq2 )。就是k放大后计算一般卷积输出。

  • Transpose卷积输出计算, M=N*stride+2*Pad-kernal
这里需要注意的是TransCONV操作一般会指定 output_shape,因为例如对(3,3,1)做反卷还原,它的原始输入既可能是(5,5, 1)也可能为(6, 6, 1)。

在一般编程框架中,Padding参数为(Full=2, SAME=1, valid=0), 注意发现当卷积核为偶数时,计算公式在程序里就不对了,因为程序里(tensorflow)SAME表示输入输出大小一致,所以这时可以将SAME=2看待。一般不会用偶数卷积核(4X4)

个人理解,欢迎指教,谢谢。


参考:CNN之间的计算TensorFlow】tf.nn.conv2d_transpose是怎样实现反卷积的?如何理解深度学习中的deconvolution networks?,如何理解空洞卷积(dilated convolution)?, tensorflow学习笔记(三十二):conv2d_transpose ("解卷积"),网易云课堂-卷积神经网络

这个网页可以点开来看下,做的挺好 https://distill.pub/2016/deconv-checkerboard/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值