时间:26-04-24
关键词:张量、PyTorch、创建、操作、运算
摘要:本文介绍了机器学习中基础数据结构——张量(Tensor)的创建、操作和运算。张量是一种多维数组,广泛应用于深度学习框架如 PyTorch 和 TensorFlow。文章详细讲解了在 PyTorch 中创建张量的多种方法,包括全零张量、全一张量、随机张量以及从列表创建的张量。随后,讨论了张量的基本操作,如索引、切片和重塑,帮助访问和改变张量的结构。最后,介绍了常见的张量运算,包括加法、逐元素乘法和矩阵乘法,并强调了运算时的注意事项,如形状匹配等关键条件。通过这些内容,读者可以掌握张量的基础知识及其在深度学习中的应用。
欢迎订阅
《用Python进行AI数据分析进阶教程》专栏
《AI大模型应用实践进阶教程》专栏
《Python编程知识集锦》专栏
《字节跳动旗下AI制作抖音视频》专栏
《智能辅助驾驶》专栏
《工具软件及IT技术集锦》专栏
在Python的机器学习世界里,如果说数据是燃料,那么张量(Tensor)就是承载这些燃料的标准容器。这个多维数组结构,是TensorFlow、PyTorch等主流深度学习框架的基石。今天,我们就来深入聊聊张量,看看它如何被创建、操作和运算。
万事开头难,但创建张量这事儿,在PyTorch里其实相当直观。掌握几种核心方法,就能轻松迈出第一步。
torch.zeros、torch.ones、torch.tensor、torch.rand。torch.tensor时要注意,它会复制一份输入的数据,而不是直接引用。dtype参数来精确指定,确保数据格式符合计算需求。光说不练假把式,来看几个具体的Python脚本例子,感受一下张量是如何“诞生”的。
Python脚本
# 导入 PyTorch 库,它是一个用于深度学习的开源机器学习库
import torch
# 创建一个全零张量,形状为 2 行 3 列,即有 2 个长度为 3 的子列表
zeros_tensor = torch.zeros(2, 3)
# 打印提示信息,表明接下来要打印的是全零张量
print("全零张量:")
# 打印全零张量,每个元素的值都为 0
print(zeros_tensor)
# 创建一个全一张量,形状同样为 2 行 3 列
ones_tensor = torch.ones(2, 3)
# 打印提示信息,表明接下来要打印的是全一张量
print("全一张量:")
# 打印全一张量,每个元素的值都为 1
print(ones_tensor)
# 从给定的二维列表创建一个张量,列表中有两个子列表,每个子列表有 3 个元素
list_tensor = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 打印提示信息,表明接下来要打印的是从列表创建的张量
print("从列表创建的张量:")
# 打印从列表创建的张量,元素就是列表中的值
print(list_tensor)
# 创建一个随机张量,形状为 2 行 3 列,元素是从 [0, 1) 均匀分布中随机采样得到的
random_tensor = torch.rand(2, 3)
# 打印提示信息,表明接下来要打印的是随机张量
print("随机张量:")
# 打印随机张量,每次运行时元素的值会不同
print(random_tensor)
输出结果
运行上面的代码,你会在控制台看到类似下面的输出。全零、全一、指定列表值、随机数,四种张量形态一目了然。这就是构建模型数据层的起点。