卷积尺寸笔记

正向卷积

h o u t = h i n + 2 p a d d i n g − k e r n e l s t r i d e + 1 h_{out}=\frac{h_{in}+2padding-kernel}{stride}+1 hout=stridehin+2paddingkernel+1

转置卷积

对于反向卷积,因为为了保证操作互逆,即转置卷积后,再正向卷积可以还原尺寸。。这里 指未转置卷积前的特征图尺寸。

s t r i d e = 1 stride=1 stride=1

此外当stride=1时,由于还有以下式子成立,
h i n + 2 p a d d i n g n e w = h o u t + 2 p a d d i n g h_{in}+2padding_{new}=h_{out}+2padding hin+2paddingnew=hout+2padding
代入即得
p a d d i n g n e w = k e r n e l − p a d d i n g − 1 padding_{new}=kernel-padding-1 paddingnew=kernelpadding1
注意,在转置卷积中实际执行的 s t r i d e ′ stride' stride总是为1, s t r i d e ′ ≜ 1 stride'\triangleq 1 stride1

输出尺寸计算

其转置卷积后的尺寸可按如下使用conv2DTranspose的参数计算得到:
h o u t = ( h i n p u t − 1 ) ∗ s t r i d e − 2 p a d d i n g + k e r n e l _ s i z e h_{out}=(h_{input}-1) * stride - 2padding + kernel\_size hout=(hinput1)stride2padding+kernel_size
若试图上采样为原图像2倍尺寸 h o u t = 2 h i n p u t h_{out}=2h_{input} hout=2hinput,代入
2 h i n p u t = ( h i n p u t − 1 ) ∗ s t r i d e − 2 p a d d i n g + k e r n e l _ s i z e 2h_{input}=(h_{input}-1) * stride - 2padding + kernel\_size 2hinput=(hinput1)stride2padding+kernel_size
显然,希望无论对于任何图像输入尺寸,总能放大为原来2倍,那么 s t r i d e = 2 stride=2 stride=2以消去 h i n p u t h_{input} hinput
于是只剩下如下的超参数:
2 p a d d i n g + 2 = k e r n e l _ s i z e 2padding+2= kernel\_size 2padding+2=kernel_size
《动手学深度学习》里, k e r n e l s i z e = 4 kernel_size=4 kernelsize=4,那么 p a d d i n g = 1 padding=1 padding=1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值