基于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 相关文章推荐
使用django-suit为django 1.7 admin后台添加模板
Nov 18 Python
从Python的源码浅要剖析Python的内存管理
Apr 16 Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 Python
Python基于Matplotlib库简单绘制折线图的方法示例
Aug 14 Python
python+opencv+caffe+摄像头做目标检测的实例代码
Aug 03 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
Python随机函数库random的使用方法详解
Aug 21 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
keras导入weights方式
Jun 12 Python
PyTorch中Tensor的数据类型和运算的使用
Sep 03 Python
python源码剖析之PyObject详解
May 18 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 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实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
基于jquery实现在线选座订座之影院篇
2015/08/24 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
js实现搜索栏效果
2018/11/16 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
python中的代码编码格式转换问题
2015/06/10 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
手机配件第一品牌:ZAGG
2017/05/28 全球购物
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
安全资料员岗位职责
2013/12/14 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
博士生导师推荐信
2014/07/08 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
2016情人节宣传语
2015/07/14 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫