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使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
Python getopt模块处理命令行选项实例
May 13 Python
跟老齐学Python之做一个小游戏
Sep 28 Python
pandas 按照特定顺序输出的实现代码
Jul 10 Python
python用pandas数据加载、存储与文件格式的实例
Dec 07 Python
神经网络相关之基础概念的讲解
Dec 29 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
Python Django简单实现session登录注销过程详解
Aug 06 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
Aug 15 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 Python
Django数据统计功能count()的使用
Nov 30 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
php daodb插入、更新与删除数据
2009/03/19 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
js 匿名调用实现代码
2009/06/19 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
vue动态改变背景图片demo分享
2018/09/13 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
Python 列表理解及使用方法
2017/10/27 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
10个Python小技巧你值得拥有
2018/09/29 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
酒店管理自荐信
2013/10/23 职场文书
2014年民政工作总结
2014/11/26 职场文书
工作经验交流材料
2014/12/30 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
工伤调解协议书
2016/03/21 职场文书
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android