TensorFlow中的“Tensor”到底是什么?

2018-02-27 11:30:27来源:https://www.jianshu.com/p/76a85a07e998作者:苏聪CK1人点击

分享





TensorFlow

我们可能会知道如何利用TensorFlow库进行工作,完成一些出色的模型,例如“cat-dog”模型(如下的gif图),完成接近100分的完美预测工作。但是,TensorFlow中的Tensor究竟是什么呢?


你可能知道,但是我不知道。。。



Updated-Deep Learning is an attempt to copy the pattern detection ability of a human brain, the main cause of pattern detection is Nueral Networks in our brain.


更新式的深度学习企图复制人脑的检测能力,进行模式检测的主要原因是神经网络就存在于我们人类的大脑中。





cat-dog.gif
什么是Tensor?

它就是一个数据单元的通用术语。


它同样可以被表示为一个矩阵的秩(Rank in Matrix)。它们是描述几何矢量、标量和其他张量之间的线性关系的几何对象。



什么是矩阵的秩: 矩阵的秩是线性代数中的一个概念。在线性代数中,一个矩阵A的列秩是线性独立的纵列的极大数,通常表示为r(A)或者rank A。通俗一点的说,如果把矩阵看成一个个行向量或者列向量,秩就是这些行向量或者列向量,也就是极大无关组中所含向量的个数。



(Updated-A) 张量由一组原始值组成一个任意数量的维度数组。


它是哪种类型的数据、标量或者向量?

如果你像我一样认为,它是一个升级版的向量,比如向量是升级版的标量,那就错了。标量和向量都是张量(tensor)。



什么是标量(Scalar):
它将各个通道的值构成一个整体,付给具有相同通道数的矩阵元素。
参照:理解Scalar



什么是秩或者什么是张量的秩?

用来表示数据的维度被称为秩。


它长什么样?

秩/维度 0个张量 或者一个标量


5       # 形状是[]

秩/维度 1个张量 或者 一个向量


[1., 2., 3., 4.]     # 形状是[4]

一个秩/维度 2 张量或者一个矩阵,这就是一个二维模型,例如一个照片有X轴和Y轴


[[1., 2., 3., 4.], [5., 6., 7., 8.]]            # 矩阵的形状是[2, 4]

一个秩/维度是3个张量或者 一个Tensor。 这就是三维模型,比如真实世界有X轴,Y轴,Z轴。简单地讲,它就是矩阵内的矩阵。


[[[1., 2., 3., 4.]],[[5., 6., 7., 8.]]]         # Tensor的形状是[2, 1, 4]

这就是如何增加张量的维度的方法。



Tensor a mathematical object analogous to but more general than a vector, represented by an array of components that are functions of the coordinates of a space.


Tensor是一个数学意义上的对象,它类似于一个矢量(向量)但是比矢量更普遍,它用一组空间坐标函数来表示。



说明

#原文# https://hackernoon.com/what-the-hell-is-tensor-in-tensorflow-e40dbf0253ee
#作者# SAGAR SHARMA
#发布时间# 2017/10/10
#分类# TensorFlow(Deep Learning)








最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台