https://blog.csdn.net/kansas_lh/article/details/79321234

tensor是tensorflow基础的一个概念——张量。 
Tensorflow用到了数据流图,数据流图包括数据(Data)、流(Flow)、图(Graph)。Tensorflow里的数据用到的都是tensor,所以谷歌起名为tensorflow。 
下面介绍张量几个比较重要的概念

张量的维度(秩):Rank/Order 

Rank为0、1、2时分别称为标量、向量和矩阵,Rank为3时是3阶张量,Rank大于3时是N阶张量。这些标量、向量、矩阵和张量里每一个元素被称为tensor element(张量的元素),且同一个张量里元素的类型是保持一样的。

Tensor的属性

1.数据类型dtype d是data的首字母,type是类型的意思。tensor里每一个元素的数据类型是一样的。类似于Numpy中ndarray.dtype,tensorflow里的数据类型可以有很多种,比方说tf.float32就是32位的浮点数,tf.int8就是8位的整型,tf.unit8就是8位的无符号整型,tf.string为字符串等等。 
2.形状Shape 类似于Numpy中ndarray.shape,比方说一个2行3列的二维矩阵,他的形状就是2行3列。 
3.其他属性 device是tensor在哪个设备上被计算出来的,graph是tensor所属的图,name是tensor的名字 
,op是operation的缩写是产生这个tensor的操作运算,对应图上的结点,这些结点接收一些tensor作为输入并输出一些tensor。还有等等属性,可以查阅官网。 
tensor和Numpy有很多共同的性质,tensorflow的作者应该参考了numpy(个人臆测)

几种Tensor 
1.Constant(常量)是值不能改变的一种tensor,定义在tf.constant这个类里。

 
constant中有几个属性,value就是constant的数值,我们可以给他赋值,比方说0维的scalar,1维的Vector,2维的matrix或者是3维的张量。dtype、shape、name刚都有写过,verify_shape是布尔值,用于验证值的形状。除了value外都不一定要指定,可以有默认的值但是必须要有一个value。 
2.Variable(变量)是值可以改变的一种tensor,定义在tf.Variable这个类中。构造函数如下图,我也看不懂其实。 
 
3.Placeholder(占位符)先占住一个固定的位置,之后在往里面添加值的一种Tensor。定义在tf.placeholder中。这里只有三个属性如下图。并没有value,因为赋值后就不是占位符了。只有dtype,shape,name三个属性。赋值的机制用到了python中字典,即feed_dict。 

x = tf.palceholder(tf.float32, shape=(1024, 1024))
y = tf.matmul(x, x)
with if.Session() as sess:
print(sess.run(y))
rand_array = np.random.rand(1024, 1024)
print(sess.run(y, feed_dict = {x: rand_array}))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

比刚说官网的例子定义了x占位符,数值类型是tf.float32,形状是1024*1024的二维矩阵。在用会话正式运行图的时候用feed_dict,首先给一个键后加真实的值。

4.SparseTensor(稀疏张量)是一种稀疏的Tensor,类似线代中稀疏矩阵。定义时只需要定义非0的数,其他的数会自动填充。 

Tensor表示法 
 
tf.Tensor就是名字,’Const’是名字。0是索引,表示张量是这个计算中产生的第几个。shape=()是形状,这个是标量所以是空,dtype为数据类型。

什么是Tensor的更多相关文章

  1. Torch7 Tensor切片总结

    1.narrow(k,m,n) 这个函数是选中第k维的从m行开始,供选中n行 2.sub(dim1s,dim1e[,dim2s,dim2e,..,dim4s,dim4e]) 功能最强大,可以切任意的一 ...

  2. Tensorflow学习笔记2:About Session, Graph, Operation and Tensor

    简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节 ...

  3. tensor

    初始化 z = torch.Tensor(,,,,) --可以创建多维数组.里面是随机的数. s = torch.Tensor(,):fill() --用1填充 t = torch.rand(,) m ...

  4. 4d tensor

    偶然在一个ppt中看到了如下关于tensor的解释,清晰明白,所以post在这里,以备后续查看 根据这个理解: theano中的input(4d tensor):[mini-batch size, n ...

  5. Tensor神经网络进行知识库推理

    本文是我关于论文<Reasoning With Neural Tensor Networks for Knowledge Base Completion>的学习笔记. 一.算法简介 网络的 ...

  6. TFboy养成记 tensor shape到底怎么说

    tensor.shape 对于一位向量,其形式为[x,] 对于矩阵,二维矩阵[x,y],三维矩阵[x,y,z] 对于标量,也就是0.3*x这种0.3,表示形式为() 如果说这个矩阵是三维的,你想获得其 ...

  7. tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构

    Gokula Krishnan Santhanam认为,大部分深度学习框架都包含以下五个核心组件: 张量(Tensor) 基于张量的各种操作 计算图(Computation Graph) 自动微分(A ...

  8. PyTorch官方中文文档:torch.Tensor

    torch.Tensor torch.Tensor是一种包含单一数据类型元素的多维矩阵. Torch定义了七种CPU tensor类型和八种GPU tensor类型: Data tyoe CPU te ...

  9. 学习TensorFlow,打印输出tensor的值

    在学习TensorFlow的过程中,我们需要知道某个tensor的值是什么,这个很重要,尤其是在debug的时候.也许你会说,这个很容易啊,直接print就可以了.其实不然,print只能打印输出sh ...

  10. AI - TensorFlow - 张量(Tensor)

    张量(Tensor) 在Tensorflow中,变量统一称作张量(Tensor). 张量(Tensor)是任意维度的数组. 0阶张量:纯量或标量 (scalar), 也就是一个数值,例如,\'Howd ...

随机推荐

  1. asp.net core参数保护之自定义要保护的参数类型

    asp.net core参数保护之自定义要保护的参数类型 Intro 为了实现 asp.net core 下的参数保护,扩展了asp.net core 中 DataProtection,可以自动化的保 ...

  2. 章节九、2-使用firefoxdriver浏览器进行自动化测试

    一.演示如何使用火狐浏览器打开“百度” package basicweb; import org.openqa.selenium.WebDriver; import org.openqa.seleni ...

  3. [Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件

    1.安装 pyinstaller 插件 cmd命令:pip install PyInstaller PS . o.o 不知道 easy_install 的百度吧. 2.pyinstaller 简介 他 ...

  4. js计算剩余分钟

    // 剩余时间提醒 function checkTime() { if (timeCompare()) { document.getElementById('distanceDeadline').in ...

  5. 多层json的构造,取值,还有使用bootstrap的tree view在前端展示的相关问题

    bootstrap-tree view是一款非常好用的插件,它可以添加任意多层节点,效果如下所示: 使用之前需要在HTML页面添加依赖文件: <link href="bootstrap ...

  6. Pycharm使用技巧(转载)

    Pycharm使用技巧(转载) 转载自:http://www.cnblogs.com/cloudtj/articles/5980666.html pycharm使用技巧 https://python. ...

  7. Win7 64位下安装64bit MS SQL Server2005时安装不了Reporting Services的处理办法

    警告截图: 解决办法: 在cmd窗口运行如下脚本即可: "cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/A ...

  8. Linux学习历程——Centos 7 mkdir命令

    一.命令介绍 mkdir 命令用于创建空白目录格式为“mkdir [选项] 目录”, 除了能够创建单个空白目录,还能结合 -p 参数来递归创建具有嵌套层叠关系的文件目录. -------------- ...

  9. Spring系列-SpringBoot 学习路径

    学习spring boot 已经有很长一段时间,与其说学习,不如说是使用. 在过去的很长时间我一直奉行实用主义,任何技术我都是在应用中使用,很少是因为为了学习而学习. 当然,有那么几次心血来潮,去专门 ...

  10. 虚拟机配置Linux上网环境

    概要:在虚拟机安装CentOS6.5的环境后,配置NAT模式,修改系统文件支持上网. (1)ip地址的配置,IP地址的子网掩码为255.255.255.0. (2)网关的指定,也就是默认路由,当我们需 ...