转自:https://zhuanlan.zhihu.com/p/48982978
在深度学习里,Tensor 实际上就是一个多维数组(multidimensional array)。
而 Tensor 的目的是能够创造更高维度的矩阵、向量。
现在将三维的张量用一个正方体来表示:
这样子可以进一步生成更高维的张量:
这有啥用呢?在用 TensorFlow 处理更高维数据结构的时候,最好可以能够在脑子里相出数据的形状。
举个简单的例子,彩色图像文件(RGB)一般都会处理成 3-d tensor,每个 2d array 中的 element 表示一个像素,R 代表 Red,G 代表 Green,B 代表 Blue:
而用 Python 举例子的话,来看看下面这个表格:
再来看看 Tensor 对象的 3 个属性:
- rank: number of dimensions
- shape: number of rows and columns
- type: data type of tensor’s elements
根据上面的张量说明图,是不是可以将属性和对象对应起来呢?
最后总结一下:在深度学习中,Tensor 实际上就是一个多维数组(multidimensional array),其目的是能够创造更高维度的矩阵、向量。我们通过图示和 Python 的实例能够想象 Tensor 的空间构造以及如何用 Tensor 的属性来构造 Tensor。