tf代码之tf.nn.conv2d_transpose
摘自博客: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相关推荐
- tf.nn,tf.layers, tf.contrib模块介绍
一.tf.nn,tf.layers, tf.contrib概述 我们在使用tensorflow时,会发现tf.nn,tf.layers, tf.contrib模块有很多功能是重复的,尤其是卷积操作,在 ...
- tensorflow学习笔记(二十六):构建TF代码
如何构建TF代码 batch_size: batch的大小 mini_batch: 将训练样本以batch_size分组 epoch_size: 样本分为几个min_batch num_epoch : ...
- 强化学习教程(四):从PDG到DDPG的原理及tf代码实现详解
强化学习教程(四):从PDG到DDPG的原理及tf代码实现详解 原创 lrhao 公众号:ChallengeHub 收录于话题 #强化学习教程 前言 在前面强化学习教程(三)中介绍了基于策略「PG」算 ...
- DL之GRU:GRU算法相关论文、建立过程(基于TF)、相关思路配图集合、TF代码实现
DL之GRU:GRU算法相关论文.建立过程(基于TF).相关思路配图集合.TF代码实现 目录 GRU算法相关论文 GRU算法建立过程(基于TF) GRU算法的TF代码实现 GRU算法相关论文 GRU是 ...
- 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动图 ...
- facenet 中心损失函数(center loss)详解(代码分析)含tf.gather() 和 tf.scatter_sub()函数
我们来解读一下,中心损失,再来看代码. 链接:https://www.cnblogs.com/carlber/p/10811396.html 我们的重点是分析代码,所以定义部分,大家详情参见上面的博客 ...
- tf.nn 和tf.layers以及tf.contrib.layers的简单区别(转)
tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别(转) 2018年09月02日 18:50:33 holmes_MX 版权声明:原创 ...
- tensorflow学习(一)——有关tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/holmes_MX/article/de ...
- 使用估算器、tf.keras 和 tf.data 进行多 GPU 训练
文 / Zalando Research 研究科学家 Kashif Rasul 来源 | TensorFlow 公众号 与大多数 AI 研究部门一样,Zalando Research 也意识到了对创意 ...
最新文章
- 怎么将vue模板转换为html,vue中自定义html文件的模板
- 1968年12月9日,恩格尔巴特公开演示了世界上第一个鼠标盒子
- 当深度学习遇上量化交易——因子挖掘篇
- Angular应用双向绑定的语法糖
- mysql如果数据不存在,则插入新数据,否则更新
- Java JDK动态代理Proxy类的原理是什么? - 知乎(重排版)
- Google完整安装包下载
- 教你打造 Win7 中的高清设备图标
- 南邮 OJ 1408 火星探险
- android graphics2d,Graphics2D的drawString之不带颜色的字体
- 用谷歌按钮登录_使用非常简单的设置即可登录Google的按钮
- 抽样技术--简单随机抽样
- WiFi语音智能家居控制系统(二)
- PHP解析js的escape()函数编码数据
- 如何将CSDN文章内容转成PDF
- 虚拟机——windows安装VMware虚拟机
- Spring-Boot +Neo4j+实现节点的创建和关系的添加【玩转neo4j】
- 3D 人体姿态估计简述[转]
- ifix oracle,IFIX实时数据通过ODBC转存到Oracle
- Ghost XP SP3 电脑城 2011 元旦装机版v18.2
热门文章
- python中文版电脑下载-Python IDLE下载
- python编程例子-几个python编程例子
- 数据库与hadoop_OLTP,MPP和Hadoop
- 2000坐标系转经纬度工具_【Leaflet开发】L.CRS + 搞定Leaflet多坐标系拓展
- Python 中list中所有值加和_深入认识Python中的itertools模块-Python教程
- 数据结构笔记:二叉树的构造(根据遍历顺序构造二叉树)
- element 输入框点击事件_Element Input输入框的使用方法
- 谷歌云 重置_谷歌云游戏平台Stadia公布!支持大作随意畅玩
- java jquery easyui_java中用jquery-easyui插件做可编辑datagird列表
- 我的世界java版_我的世界Java版1.15版本