必威体育Betway必威体育官网
当前位置:首页 > IT技术

什么是Tensor

时间:2019-08-18 16:45:27来源:IT技术作者:seo实验室小编阅读:64次「手机版」
 

tensor

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}))

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

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

这里写图片描述

Tensor表示法

这里写图片描述

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

相关阅读

脚本是什么 脚本有什么用的简单说明

脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。 常见的脚本语言:Scala、JavaScrip

淘宝店铺转让,商家升级店铺后转让有什么好处吗?

现如今,如果商家的店铺是属于个人店铺类型的话,那么其也是能够升级成为企业店铺的,毕竟电商法已经实施了。所以接下来小编就给大家讲

微信和QQ到底有什么不同?

以前提到腾讯第一个想到的产品是QQ,但是现在再提到腾讯更多的人想到的是微信。同为腾讯旗下的王牌社交产品,这两个产品之间到底存在

为什么说社群媒体才是自媒体的最好出路?

随着各大网络平台的崛起,自媒体也得到了繁荣的发展。然而经过近一两年来的爆发式增长后,自媒体的发展却陷入了僵局。大家都在为自媒

什么是CDN加速?

CND概况CDN的全称是Content Delivery Network,即内容分发网络。CND加速主要

分享到:

栏目导航

推荐阅读

热门阅读