keras的Conv2DTranspose逆卷积

学GAN,逆卷积过程中图片大小变化到底是怎么变的?和步长有关系吗?

先看卷积时的情况

padding = “VALID”输入和输出大小关系如下:

在这里插入图片描述
输出大小等于输入大小减去滤波器(卷积核)大小加上1,最后再除以步长(f为滤波器的大小,s是步长大小)

padding = “SAME”输入和输出大小关系如下:

在这里插入图片描述
即输出大小等于输入大小除以步长向上取整,s是步长大小;

== 那逆卷积就是这个过程的逆 ==

下面来举个栗子
对于输入大小为7x7,输入通道数为256的图片,我们要求输出大小仍然为7x7,进行如下逆卷积操作:
在这里插入图片描述
则逆卷积输出大小W*W为:
⌈W/1⌉=7,则W=7
那么strides=(2,2)呢?
⌈W/2⌉=7,则W‘=14(输出大小翻倍,变成14x14)
(输出图片的通道数是由自己任意指定的)

那网上还有流传这样的公式

Conv2DTranspose输出计算

输入图片矩阵为:NxN
卷积核大小,kernel_size:FxF
步长strides:S
边界扩充padding的值:P
则,输出大小W:
W = ( N − 1 ) ∗ S − 2 P + F W=(N−1)∗S−2P+F W=(N1)S2P+F
为什么不用这个计算逆卷积之后图片的大小呢?

这个公式也是对的,这个需要知道padding 0的个数。一般我们利用向上求整公式计算最后图像大小,然后利用上述这个公式计算padding 0 的个数

结论

逆卷积输出图片大小:与输入图片大小和步长有关,计算公式如上文

参考:
https://blog.csdn.net/syyyy712/article/details/80272071

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值