基于tf.shape(tensor)和tensor.shape()的区别说明


Posted in Python onJune 30, 2020

#tf.shape(tensor)和tensor.shape()的区别

a=tf.zeros([4,5,4,5,6])
print(type(a.shape))
print(a.shape.ndims)#多少个维度
print(a.shape.as_list())#返回列表
print(type(tf.shape(a)))
print(type(tf.shape(a)[0]))
b=a.shape.as_list()
c=tf.shape(a)
b[1]=tf.shape(a)[1]
print(b)
sess=tf.Session()
d=sess.run(c)
print(d)
outputs:
<class 'tensorflow.python.framework.tensor_shape.TensorShape'>
5
[4, 5, 4, 5, 6]
<class 'tensorflow.python.framework.ops.Tensor'>
<class 'tensorflow.python.framework.ops.Tensor'>
[4, <tf.Tensor 'strided_slice_1:0' shape=() dtype=int32>, 4, 5, 6]
[4 5 4 5 6]

其中tf.shape(tensor)使用的是动态的,即必须要在session中运行后才能显示出来,但是tensor.shape()是静态的,即通过定义的shape可以惊天的运行出来。

原因:在我们定义的时候,比如进行placeholder的时候我们可能会定义某些维度为None,在静态的时候是看不出来的,只能在运行的时候找到维度。

**使用:**可以在获得某些tensor的维度的时候进行检验,防止维度为None。

补充知识:tensorflow.python.framework.tensor_shape.TensorShape 类

TensorShape 是tensorflow中关于张量shape的类(class).

使用示例如下:

import tensorflow.compat.v1 as tf
from tensorflow.python.framework import tensor_shape
from tensorflow.python.framework import constant_op
 
tensor_test1=[10,10,10]
tensor_test2 = [None,10,10]
 
p1 = tensor_shape.as_shape(tensor_test1) # 得到的是一个类实例,该类实例包含一个属性,是 tensor_test1 的value
const = constant_op.constant(p1.as_list())
 
print("type(p1) = ",type(p1))
print("p1 = ",p1) # 使用p1时会自动调用p1中的value属性
print("p1.is_fully_defined() = ",p1.is_fully_defined())# is_fully_defined 是 TensorShape 类的一个内部函数
print("p1.ndims = ",p1.ndims) # ndims 也是TensorShape的一个属性值
print("p1.as_list() = ",p1.as_list()) # 把TensorShape的value属性转换成python中的list类型
print("const = ",const)

结果如下:

type(p1) = <class 'tensorflow.python.framework.tensor_shape.TensorShape'>
p1 = (10, 10, 10)
p1.is_fully_defined() = True
p1.ndims = 3
p1.as_list() = [10, 10, 10]
const = Tensor("Const:0", shape=(3,), dtype=int32)

以上这篇基于tf.shape(tensor)和tensor.shape()的区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现查找两个字符串中相同字符并输出的方法
Jul 11 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
python利用paramiko连接远程服务器执行命令的方法
Oct 16 Python
利用python3随机生成中文字符的实现方法
Nov 24 Python
pandas 小数位数 精度的处理方法
Jun 09 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
python打印异常信息的两种实现方式
Dec 24 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
pytorch中图像的数据格式实例
Feb 11 Python
Tensorflow全局设置可见GPU编号操作
Jun 30 #Python
Python logging模块异步线程写日志实现过程解析
Jun 30 #Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 #Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 #Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 #Python
keras的backend 设置 tensorflow,theano操作
Jun 30 #Python
浅谈TensorFlow中读取图像数据的三种方式
Jun 30 #Python
You might like
php读取javascript设置的cookies的代码
2010/04/12 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
javascript cookie解码函数(兼容ff)
2008/03/17 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
理货员的岗位职责
2013/11/23 职场文书
学生会主席竞聘书
2014/03/31 职场文书
干部对照检查材料范文
2014/08/26 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
银行竞聘报告范文
2014/11/06 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书