摘自博客:https://blog.csdn.net/mao_xiao_feng/article/details/71713358

conv2d_transpose(value, filter, output_shape, strides, padding="SAME", data_format="NHWC", name=None)

除去name参数用以指定该操作的name,与方法有关的一共六个参数:

  • 第一个参数value:指需要做反卷积的输入图像,它要求是一个Tensor
  • 第二个参数filter:卷积核,它要求是一个Tensor,具有[filter_height, filter_width, out_channels, in_channels]这样的shape,具体含义是[卷积核的高度,卷积核的宽度,卷积核个数,图像通道数]
  • 第三个参数output_shape:反卷积操作输出的shape,细心的同学会发现卷积操作是没有这个参数的,那这个参数在这里有什么用呢?下面会解释这个问题
  • 第四个参数strides:反卷积时在图像每一维的步长,这是一个一维的向量,长度4
  • 第五个参数padding:string类型的量,只能是"SAME","VALID"其中之一,这个值决定了不同的卷积方式,默认为SAME
  • 第六个参数data_format:string类型的量,'NHWC'和'NCHW'其中之一,这是tensorflow新版本中新加的参数,它说明了value参数的数据格式。'NHWC'指tensorflow标准的数据格式[batch, height, width, in_channels],'NCHW'指Theano的数据格式,[batch, in_channels,height, width],当然默认值是'NHWC'

tf.nn.conv2d      中的filter参数,是[filter_height, filter_width, in_channels, out_channels]

tf.nn.conv2d_transpose    中的filter参数,是[filter_height, filter_width, out_channels,in_channels]

x1 = tf.constant(1.0, shape=[1,3,3,1])
x2 = tf.constant(1.0, shape=[1,6,6,3]) #6×6的3通道图
x3 = tf.constant(1.0, shape=[1,5,5,3]) #5×5的3通道图
kernel = tf.constant(1.0, shape=[3,3,3,1])y2 = tf.nn.conv2d(x3, kernel, strides=[1,2,2,1], padding="SAME")
y3 = tf.nn.conv2d_transpose(y2,kernel,output_shape=[1,5,5,3], strides=[1,2,2,1],padding="SAME")
y4 = tf.nn.conv2d(x2, kernel, strides=[1,2,2,1], padding="SAME")'''
Wrong!!This is impossible
y5 = tf.nn.conv2d_transpose(x1,kernel,output_shape=[1,10,10,3],strides=[1,2,2,1],padding="SAME")
'''
sess = tf.Session()
tf.global_variables_initializer().run(session=sess)
x1_decov, x3_cov, y2_decov, x2_cov=sess.run([y1,y2,y3,y4])
print(x1_decov.shape)
print(x3_cov.shape)
print(y2_decov.shape)
print(x2_cov.shape)

返回的y2是[1,3,3,1]的Tensor,是一个单通道的图

对y2做conv2d_transpose,返回的Tensor和x3的shape是一样的[1,5,5,3]

x2做卷积,获得y4的shape也为[1,3,3,1]。

说明[1,3,3,1]的图反卷积产生了两种情况。所以这里指定output_shape是有意义的,当然随意指定output_shape是不允许的如y5


博客:https://blog.csdn.net/hustwayne/article/details/83989207 中有动图,方便理解

tf代码之tf.nn.conv2d_transpose相关推荐

  1. tf.nn,tf.layers, tf.contrib模块介绍

    一.tf.nn,tf.layers, tf.contrib概述 我们在使用tensorflow时,会发现tf.nn,tf.layers, tf.contrib模块有很多功能是重复的,尤其是卷积操作,在 ...

  2. tensorflow学习笔记(二十六):构建TF代码

    如何构建TF代码 batch_size: batch的大小 mini_batch: 将训练样本以batch_size分组 epoch_size: 样本分为几个min_batch num_epoch : ...

  3. 强化学习教程(四):从PDG到DDPG的原理及tf代码实现详解

    强化学习教程(四):从PDG到DDPG的原理及tf代码实现详解 原创 lrhao 公众号:ChallengeHub 收录于话题 #强化学习教程 前言 在前面强化学习教程(三)中介绍了基于策略「PG」算 ...

  4. DL之GRU:GRU算法相关论文、建立过程(基于TF)、相关思路配图集合、TF代码实现

    DL之GRU:GRU算法相关论文.建立过程(基于TF).相关思路配图集合.TF代码实现 目录 GRU算法相关论文 GRU算法建立过程(基于TF) GRU算法的TF代码实现 GRU算法相关论文 GRU是 ...

  5. ​​​​​​​DL之RNN/LSTM/GRU:RNN/LSTM/GRU算法动图对比、TF代码定义之详细攻略

    DL之RNN/LSTM/GRU:RNN/LSTM/GRU算法动图对比.TF代码定义之详细攻略 目录 RNN.LSTM.GRU算法对比 1.RNN/LSTM/GRU对比 2.RNN/LSTM/GRU动图 ...

  6. facenet 中心损失函数(center loss)详解(代码分析)含tf.gather() 和 tf.scatter_sub()函数

    我们来解读一下,中心损失,再来看代码. 链接:https://www.cnblogs.com/carlber/p/10811396.html 我们的重点是分析代码,所以定义部分,大家详情参见上面的博客 ...

  7. tf.nn 和tf.layers以及tf.contrib.layers的简单区别(转)

    tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别(转) 2018年09月02日 18:50:33 holmes_MX 版权声明:原创 ...

  8. tensorflow学习(一)——有关tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/holmes_MX/article/de ...

  9. 使用估算器、tf.keras 和 tf.data 进行多 GPU 训练

    文 / Zalando Research 研究科学家 Kashif Rasul 来源 | TensorFlow 公众号 与大多数 AI 研究部门一样,Zalando Research 也意识到了对创意 ...

最新文章

  1. 怎么将vue模板转换为html,vue中自定义html文件的模板
  2. 1968年12月9日,恩格尔巴特公开演示了世界上第一个鼠标盒子
  3. 当深度学习遇上量化交易——因子挖掘篇
  4. Angular应用双向绑定的语法糖
  5. mysql如果数据不存在,则插入新数据,否则更新
  6. Java JDK动态代理Proxy类的原理是什么? - 知乎(重排版)
  7. Google完整安装包下载
  8. 教你打造 Win7 中的高清设备图标
  9. 南邮 OJ 1408 火星探险
  10. android graphics2d,Graphics2D的drawString之不带颜色的字体
  11. 用谷歌按钮登录_使用非常简单的设置即可登录Google的按钮
  12. 抽样技术--简单随机抽样
  13. WiFi语音智能家居控制系统(二)
  14. PHP解析js的escape()函数编码数据
  15. 如何将CSDN文章内容转成PDF
  16. 虚拟机——windows安装VMware虚拟机
  17. Spring-Boot +Neo4j+实现节点的创建和关系的添加【玩转neo4j】
  18. 3D 人体姿态估计简述[转]
  19. ifix oracle,IFIX实时数据通过ODBC转存到Oracle
  20. Ghost XP SP3 电脑城 2011 元旦装机版v18.2

热门文章

  1. python中文版电脑下载-Python IDLE下载
  2. python编程例子-几个python编程例子
  3. 数据库与hadoop_OLTP,MPP和Hadoop
  4. 2000坐标系转经纬度工具_【Leaflet开发】L.CRS + 搞定Leaflet多坐标系拓展
  5. Python 中list中所有值加和_深入认识Python中的itertools模块-Python教程
  6. 数据结构笔记:二叉树的构造(根据遍历顺序构造二叉树)
  7. element 输入框点击事件_Element Input输入框的使用方法
  8. 谷歌云 重置_谷歌云游戏平台Stadia公布!支持大作随意畅玩
  9. java jquery easyui_java中用jquery-easyui插件做可编辑datagird列表
  10. 我的世界java版_我的世界Java版1.15版本