7 Tensors的概念
系列进度
TensorFlow 入门 · 第 7 / 25 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
TensorFlow 学习要把张量、模型、训练和部署放在一条线上,而不是只看单段代码。阅读时可以按「什么是Tensor? -> Tensor的维度 -> Tensor的创建 -> 使用常量创建Tensor」建立结构,再回到正文里的代码、案例或指标做验证。
读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「什么是Tensor?」,再查「Tensor的维度」。
在前面的章节中,我们完成了环境的搭建,成功安装了TensorFlow。现在,我们将深入研究TensorFlow的基本概念之一——Tensors。
什么是Tensor?
在机器学习和深度学习中,Tensor是数据的基本表示形式。简单来说,Tensor可以被视作是一个多维数组,用于存储和操作数据。在TensorFlow中,数据以Tensor的形式存在,无论是标量、向量、矩阵,还是更高维的数组都可以用Tensor表示。
理解 Tensor 时,先看 rank、shape、dtype 和设备位置。张量是后续模型输入输出的基本载体。
Tensor的维度
-
标量(0维Tensor):单个数值,例如 或 。
-
向量(1维Tensor):一组数值,例如 或 。
矩阵(2维Tensor):由行和列组成的二维数组,例如:
高维Tensor:可以是三维、四维,甚至更高维度,例如一个三维Tensor可以表示一个图像的RGB通道,形状为(高度, 宽度, 通道数)。
Tensor的创建
在TensorFlow中,我们可以使用多种方法创建Tensor。下面是一些常见的方法:
读《Tensors的概念》时,可以把配图当成路线卡:先看整体顺序,再看每一步为什么这样做,最后再检查边界条件。
1. 使用常量创建Tensor
我们可以使用tf.constant()函数创建一个常量Tensor。
import tensorflow as tf
# 创建一个标量Tensor
scalar = tf.constant(5)
# 创建一个向量Tensor
vector = tf.constant([1, 2, 3])
# 创建一个矩阵Tensor
matrix = tf.constant([[1, 2, 3], [4, 5, 6]])
# 创建一个3D Tensor
tensor_3d = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print("标量Tensor:", scalar)
print("向量Tensor:", vector)
print("矩阵Tensor:", matrix)
print("3D Tensor:", tensor_3d)
2. 使用随机数创建Tensor
有时候我们需要生成随机Tensor,例如初始化模型参数时:
# 创建一个随机矩阵,形状为(2, 3)
random_tensor = tf.random.uniform((2, 3), minval=0, maxval=10)
print("随机矩阵Tensor:", random_tensor)
3. 使用占位符(Placeholders)
虽然在TensorFlow 2.x中,更推荐使用tf.function和tf.data等机制,tf.placeholder在1.x版本中用于创建占位符,具有更高的灵活性。
此处不再深入,但要认识到占位符的概念也是Tensor的重要组成部分。
Tensor的形状和数据类型
每个Tensor都有一个形状(shape)和数据类型(dtype):
-
形状:表示Tensor的维度。例如,一个形状为
(2, 3)的Tensor可以视作有2行3列的矩阵。 -
数据类型:包括常见的
float32、int32、bool等,TensorFlow会根据你创建Tensor时给定的数据自动推断。
# 查看Tensor的形状和数据类型
print("矩阵的形状:", matrix.shape)
print("矩阵的数据类型:", matrix.dtype)
Tensor的操作
在TensorFlow中,我们可以对Tensor进行各种操作。例如:
1. 加法
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
result = tf.add(a, b)
print("加法结果:\n", result)
2. 矩阵乘法
matrix_a = tf.constant([[1, 2], [3, 4]])
matrix_b = tf.constant([[5], [6]])
product = tf.matmul(matrix_a, matrix_b)
print("矩阵乘法结果:\n", product)
3. 形状变换
tensor = tf.constant([[1, 2, 3], [4, 5, 6]])
reshaped_tensor = tf.reshape(tensor, (3, 2))
print("变形后的Tensor:\n", reshaped_tensor)
如果《Tensors的概念》还没完全消化,可以从这张卡片的四个动作重新走一遍。
回看《Tensors的概念》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。
小结
在本章中,我们深入探讨了Tensor的基本概念,Tensor的不同维度以及如何在TensorFlow中创建和操作Tensor。理解Tensor是学习和应用TensorFlow的基础,它是实现各种机器学习和深度学习算法的核心数据结构。在下一章中,我们将继续讨论TensorFlow中的操作与计算图,进一步加深对TensorFlow工作的理解。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
Tensors的概念适合谁读?
这是 TensorFlow 入门 系列第 7 / 25 篇,适合正在学习TensorFlow 入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇TensorFlow 入门教程要多久?
按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读