基于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之正规地说一句话
Sep 28 Python
Python的math模块中的常用数学函数整理
Feb 04 Python
浅谈python数据类型及类型转换
Dec 18 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
Python + Requests + Unittest接口自动化测试实例分析
Dec 12 Python
使用pyqt 实现重复打开多个相同界面
Dec 13 Python
Python函数默认参数常见问题及解决方案
Mar 26 Python
python是怎么被发明的
Jun 15 Python
Python 操作 MySQL数据库
Sep 18 Python
Python实现LR1文法的完整实例代码
Oct 25 Python
python 实现逻辑回归
Dec 30 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
一步一步学习PHP(8) php 数组
2010/03/05 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
PHP-FPM和Nginx的通信机制详解
2019/02/01 PHP
phpinfo的知识点总结
2019/10/10 PHP
JQuery优缺点分析说明
2010/06/09 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
再探JavaScript作用域
2014/09/24 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
python写的一个文本编辑器
2014/01/23 Python
朴素贝叶斯算法的python实现方法
2014/11/18 Python
python登陆asp网站页面的实现代码
2015/01/14 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python人脸识别初探
2017/12/21 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
Python如何实现强制数据类型转换
2019/11/22 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
新员工培训个人的自我评价
2013/10/09 职场文书
求职信范文英文版
2014/01/05 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
售后服务质量承诺书
2015/04/29 职场文书
初中重阳节活动总结
2015/05/05 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
Vue vee-validate插件的简单使用
2021/06/22 Vue.js