基于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中的yield浅析
Jun 16 Python
python编写的最短路径算法
Mar 25 Python
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
Jun 04 Python
Python中staticmethod和classmethod的作用与区别
Oct 11 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
浅析python内置模块collections
Nov 15 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
Python 解析xml文件的示例
Sep 29 Python
用Python将GIF动图分解成多张静态图片
Jun 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
Python中的日期时间处理详解
2016/11/17 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
python and or用法详解
2019/06/26 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
Python如何读取、写入CSV数据
2020/07/28 Python
python如何调用php文件中的函数详解
2020/12/29 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
中学优秀班主任事迹材料
2014/05/01 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
总经理年会致辞
2015/07/29 职场文书
2016年母亲节广告语
2016/01/28 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书