张量

张量是 TensorFlow 中计算的基本元素和基本数据结构。可能是您需要学习使用 TensorFlow 的唯一数据结构。张量是由维度,形状和类型标识的 n 维数据集合。

Rank 是张量的维数,形状是表示每个维度的大小的列表。张量可以具有任意数量的尺寸。您可能已经熟悉零维集合(标量),一维集合(向量),二维集合(矩阵)的数量,以及多维集合。

标量值是等级 0 的张量,因此具有[1]的形状。向量或一维数组是秩 1 的张量,并且具有[列]或[行]的形状。矩阵或二维数组是秩 2 的张量,并且具有[行,列]的形状。三维数组将是秩 3 的张量,并且以相同的方式,n 维数组将是秩n的张量。

请参阅以下资源以了解有关张量及其数学基础的更多信息:

张量可以在其所有维度中存储一种类型的数据,并且其元素的数据类型被称为张量的数据类型。

您还可以在 https://www.tensorflow.org/api_docs/python/tf/DType 查看最新版本的 TensorFlow 库中定义的数据类型。

在编写本书时,TensorFlow 定义了以下数据类型:

TensorFlow Python API 数据类型 描述
tf.float16 16 位半精度浮点数
tf.float32 32 位单精度浮点
tf.float64 64 位双精度浮点
tf.bfloat16 16 位截断浮点
tf.complex64 64 位单精度复合体
tf.complex128 128 位双精度复合体
tf.int8 8 位有符号整数
tf.uint8 8 位无符号整数
tf.uint16 16 位无符号整数
tf.int16 16 位有符号整数
tf.int32 32 位有符号整数
tf.int64 64 位有符号整数
tf.bool 布尔
tf.string
tf.qint8 量化的 8 位有符号整数
tf.quint8 量化的 8 位无符号整数
tf.qint16 量化的 16 位有符号整数
tf.quint16 量化的 16 位无符号整数
tf.qint32 量化的 32 位有符号整数
tf.resource 处理可变资源

我们建议您避免使用 Python 本地数据类型。 使用 TensorFlow 数据类型来定义张量,而不是 Python 本地数据类型。

可以通过以下方式创建张量:

  • 通过定义常量,操作和变量,并将值传递给它们的构造函数。
  • 通过定义占位符并将值传递给session.run()
  • 通过tf.convert_to_tensor()函数转换 Python 对象,如标量值,列表和 NumPy 数组。

让我们来看看创建张量的不同方法。

results matching ""

    No results matching ""