TensorFlow – 张量

Tensorflow的名字直接来源于它的核心数据结构:张量。

张量的概念来源于线性代数,表示一个多维数组,张量中的元素具有相同的数据类型。

Tensorflow中,所有的计算都涉及到张量,张量可以是输入数据,或者计算结果。

TensorFlow中的各种操作,如加权求和,激活函数等,都被编排成一个图,称为计算图。这样,一个神经网络就可以用一个计算图来表示。

张量表示的输入数据传递给计算图,计算图处理后,也以张量的方式输出数据。

示例

如果我们有一个2×3矩阵:

\left[ \begin{matrix} 1 & 2 & 3\\ 4 & 5 & 6\\ \end{matrix} \right]

TensorFlow中,将这个矩阵表示为张量:

[[1, 2, 3], 
 [4, 5, 6]] 

张量的阶

张量的阶(rank)是张量的维数。

阶为1的张量等价于向量,阶为2的向量等价于矩阵。对于一个阶为2的张量,通过t[i, j]就能获取它的每个元素。对于一个阶为3的张量,需要通过t[i, j, k]进行寻址,以此类推。

张量的形状

张量的形状描述了张量每个维度中的元素数量。就是说一个张量有几行几列,例如一个形状[2,3],即2行3列的张量:

[[1 2 3]
 [3 4 5]]

张量的数据类型

一个张量具有一个数据类型,允许的数据类型如下:

数据类型 Python 类型 描述
DT_FLOAT tf.float32 32 位浮点数.
DT_DOUBLE tf.float64 64 位浮点数.
DT_INT64 tf.int64 64 位有符号整型.
DT_INT32 tf.int32 32 位有符号整型.
DT_INT16 tf.int16 16 位有符号整型.
DT_INT8 tf.int8 8 位有符号整型.
DT_UINT8 tf.uint8 8 位无符号整型.
DT_STRING tf.string 可变长度的字节数组.每一个张量元素都是一个字节数组.
DT_BOOL tf.bool 布尔型.
DT_COMPLEX64 tf.complex64 由两个32位浮点数组成的复数:实数和虚数.
DT_QINT32 tf.qint32 用于量化Ops的32位有符号整型.
DT_QINT8 tf.qint8 用于量化Ops的8位有符号整型.
DT_QUINT8 tf.quint8 用于量化Ops的8位无符号整型.


浙ICP备17015664号联系我们网站地图  
@2019 qikegu.com 版权所有,禁止转载