在本节中,我们将详细介绍 TensorFlow
中的 张量
(tensor)基础知识。张量
是 TensorFlow
的核心数据结构,它用来表示多维数组。掌握 张量
的概念对于理解 TensorFlow
的运作非常重要。
1. 什么是张量?
张量
是一种数学对象,可以视为一个多维数组。它可以有不同的维度:
- 标量(0D张量):单个数字,比如 5。
- 向量(1D张量):一维数组,比如
[1, 2, 3]
。 - 矩阵(2D张量):二维数组,比如
[[1, 2], [3, 4]]
。 - 高维张量(3D及以上张量):例如,一个形状为
(2, 3, 4)
的张量。
2. 创建张量
在 TensorFlow
中,可以通过多种方法创建张量。以下是一些常见的创建方式:
2.1 从常数创建
1 | import tensorflow as tf |
2.2 创建零张量和单位张量
1 | # 创建一个 2x3 的零张量 |
3. 张量的属性
每个张量都有几个属性:
dtype
:张量的数据类型,比如tf.float32
、tf.int32
等。shape
:张量的形状,表示各维度的大小。ndim
:张量的维度数量。
可以通过以下方式访问这些属性。
1 | tensor = tf.constant([[1, 2], [3, 4]]) |
4. 张量操作
TensorFlow
提供了大量的张量操作。以下是一些常见的操作示例:
4.1 张量加法
1 | a = tf.constant([[1, 2], [3, 4]]) |
4.2 张量乘法
1 | a = tf.constant([[1, 2], [3, 4]]) |
4.3 张量切片
1 | tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) |
5. 张量与 NumPy 的互操作性
TensorFlow
张量可以方便地与 NumPy
数组进行转换:
1 | import numpy as np |
6. 小结
在本节中,我们详细介绍了 TensorFlow
中 张量
的基础知识。我们学习了如何创建张量、张量的属性、常见的张量操作,以及如何与 NumPy
进行互操作。理解这些基础概念将为后续深入学习 TensorFlow
打下坚实基础。
接下来,我们将探索更高级的 TensorFlow
主题,比如自动微分、神经网络构建等。