tensorflow反卷积 tf.layers.conv2d_transpose 和 tf.nn.conv2d_transpose

首先, 引用一篇博文的图,讲解的很清楚,这篇博文讲解的也很清楚,还有手写代码实现,我就说下我自己的理解.在这里插入图片描述
tensorflow的反卷积也被成为转置卷积, 在执行反卷积的时候, tensorflow通常会做以下几个操作:

  1. 根据设置的stride对featuremap填充0, 具体来说, 就是将featuremap填充至(h*stride-stride+3, w*stride-stride+3)(感谢葉相惜的指正)大小. 填充方式为在原来的featuremap元素之间填充stride-1个零,然后四周再补一圈0.
  2. 然后再根据填充0之后的featuremap进行普通的卷积,此时的stride变成1, padding方式为传入反卷积的padding方式
  3. 最后再对卷积的结果进行crop,裁去右边最后一列和下边最后一行

一般在神经网络中,反卷积的作用都是用作上采样来的,所以反卷积的结果一般都是原来的featuremap size两倍大小. 更普通的反卷积(指定输出大小但不是原图的2倍)没有尝试过.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值