tensorflow获取变量维度信息


Posted in Python onMarch 10, 2018

tensorflow版本1.4

获取变量维度是一个使用频繁的操作,在tensorflow中获取变量维度主要用到的操作有以下三种:

  • Tensor.shape
  • Tensor.get_shape()
  • tf.shape(input,name=None,out_type=tf.int32)

对上面三种操作做一下简单分析:(这三种操作先记作A、B、C)

A 和 B 基本一样,只不过前者是Tensor的属性变量,后者是Tensor的函数。
A 和 B 均返回TensorShape类型,而 C 返回一个1D的out_type类型的Tensor。
A 和 B 可以在任意位置使用,而 C 必须在Session中使用。
A 和 B 获取的是静态shape,可以返回不完整的shape; C 获取的是动态的shape,必须是完整的shape。

另外,补充从TenaorShape变量中获取具体维度数值的方法

# 直接获取TensorShape变量的第i个维度值
x.shape[i].value
x.get_shape()[i].value

# 将TensorShape变量转化为list类型,然后直接按照索引取值
x.get_shape().as_list()

下面给出全部的示例程序:

import tensorflow as tf

x1 = tf.constant([[1,2,3],[4,5,6]])
# 占位符创建变量,第一个维度初始化为None,表示暂不指定维度
x2 = tf.placeholder(tf.float32,[None, 2,3])
print('x1.shape:',x1.shape)
print('x2.shape:',x2.shape)
print('x2.shape[1].value:',x2.shape[1].value)
print('tf.shape(x1):',tf.shape(x1))
print('tf.shape(x2):',tf.shape(x2))
print('x1.get_shape():',x1.get_shape())
print('x2.get_shape():',x2.get_shape())
print('x2.get_shape.as_list[1]:',x2.get_shape().as_list()[1])
shapeOP1 = tf.shape(x1)
shapeOP2 = tf.shape(x2)
with tf.Session() as sess:
 print('Within session, tf.shape(x1):',sess.run(shapeOP1))
 # 由于x2未进行完整的变量填充,其维度不完整,因此执行下面的命令将会报错
 # print('Within session, tf.shape(x2):',sess.run(shapeOP2)) # 此命令将会报错

输出结果为:

x1.shape: (2, 3)
x2.shape: (?, 2, 3)
x2.shape[1].value: 2
tf.shape(x1): Tensor("Shape:0", shape=(2,), dtype=int32)
tf.shape(x2): Tensor("Shape_1:0", shape=(3,), dtype=int32)
x1.get_shape(): (2, 3)
x2.get_shape(): (?, 2, 3)
x2.get_shape.as_list[1]: 2
Within session, tf.shape(x1): [2 3]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
以Flask为例讲解Python的框架的使用方法
Apr 29 Python
在Linux下使用Python的matplotlib绘制数据图的教程
Jun 11 Python
KMP算法精解及其Python版的代码示例
Jun 01 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
Python 运行 shell 获取输出结果的实例
Jan 07 Python
Python配置虚拟环境图文步骤
May 20 Python
python turtle库画一个方格和圆实例
Jun 27 Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 Python
python中scrapy处理项目数据的实例分析
Nov 22 Python
python文本处理的方案(结巴分词并去除符号)
May 26 Python
TensorFlow变量管理详解
Mar 10 #Python
TensorFlow神经网络优化策略学习
Mar 09 #Python
TensorFlow实现AutoEncoder自编码器
Mar 09 #Python
TensorFlow实现MLP多层感知机模型
Mar 09 #Python
TensorFlow实现Softmax回归模型
Mar 09 #Python
用python实现百度翻译的示例代码
Mar 09 #Python
TensorFlow深度学习之卷积神经网络CNN
Mar 09 #Python
You might like
程序员编程十条戒律
2009/07/09 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
[原创]图片分页查看
2006/08/28 Javascript
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/02/09 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
介绍一下gcc特性
2015/10/31 面试题
运动会广播稿200字
2014/01/15 职场文书
行政办公室岗位职责
2014/03/18 职场文书
医学专业自荐信
2014/06/14 职场文书
体育节口号
2014/06/19 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
开国大典观后感
2015/06/04 职场文书
“5.12”护士节主持词
2015/07/04 职场文书
中学图书馆工作总结
2015/08/11 职场文书