6 Pytorch小白从零学教程系列:张量的基本操作
系列进度
PyTorch 入门 · 第 6 / 20 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
张量操作的难点通常不在公式,而在维度。加减乘除、矩阵乘法、转置和广播都要先确认形状是否符合预期。
我会在关键运算前后打印 shape。不要等报错才看维度,形状检查应该变成习惯。
在上一篇我们讨论了张量的定义与构造,相信大家已经对张量的基础概念有了一定了解。本篇将聚焦于张量的基本操作,让我们一起深入探讨张量在实际使用中的常见操作。
张量的基本操作
在PyTorch中,各种操作都是基于张量的,因此掌握基本操作是至关重要的。我们将涵盖以下几种操作:
学习张量基本操作时,先看每一步如何改变 shape、dtype 和 device。形状变化清楚,模型输入输出才容易对齐。
- 加法与减法
- 乘法与除法
- 张量的转置
- 张量的连接
- 张量的数值统计
1. 加法与减法
可以使用+和-符号来进行张量的加法与减法操作。
import torch
a = torch.tensor([[1, 2], [3, 4]])
b = torch.tensor([[5, 6], [7, 8]])
# 张量加法
c = a + b
print("张量加法结果:\n", c)
# 张量减法
d = a - b
print("张量减法结果:\n", d)
输出:
张量加法结果:
tensor([[ 6, 8],
[10, 12]])
张量减法结果:
tensor([[-4, -4],
[-4, -4]])
2. 乘法与除法
张量的乘法可以使用*进行元素间的逐个乘法,而使用torch.mm(矩阵乘法)进行矩阵之间的乘法。除法也类似,使用/进行元素间的逐个除法。
# 元素乘法
e = a * b
print("张量元素乘法结果:\n", e)
# 矩阵乘法
f = torch.mm(a, b)
print("张量矩阵乘法结果:\n", f)
输出:
张量元素乘法结果:
tensor([[ 5, 12],
[21, 32]])
张量矩阵乘法结果:
tensor([[19, 22],
[43, 50]])
3. 张量的转置
张量的转置是将行和列进行交换。可以使用torch.transpose或.t()方法实现。
g = a.t()
print("张量转置结果:\n", g)
输出:
张量转置结果:
tensor([[1, 3],
[2, 4]])
4. 张量的连接
对于多个张量,可以使用torch.cat()函数进行连接。这里我们以沿着行和列进行连接为例。
h = torch.tensor([[9, 10], [11, 12]])
concat_dim0 = torch.cat((a, h), dim=0) # 沿着行(第一维)连接
concat_dim1 = torch.cat((a, h), dim=1) # 沿着列(第二维)连接
print("沿着行连接结果:\n", concat_dim0)
print("沿着列连接结果:\n", concat_dim1)
输出:
沿着行连接结果:
tensor([[ 1, 2],
[ 3, 4],
[ 9, 10],
[11, 12]])
沿着列连接结果:
tensor([[ 1, 2, 9, 10],
[ 3, 4, 11, 12]])
5. 张量的数值统计
PyTorch提供了多种函数以获取张量的统计信息,例如:求和,均值,方差等。
sum_a = torch.sum(a)
mean_a = torch.mean(a.float()) # 要求转换为浮点型
std_a = torch.std(a.float())
print("张量的和:", sum_a)
print("张量的均值:", mean_a)
print("张量的方差:", std_a)
输出:
张量的和: tensor(10)
张量的均值: tensor(2.5000)
张量的方差: tensor(1.1180)
学完《Pytorch小白从零学教程系列:张量的基本操作》后,不妨换一个自己的场景试一次,重点观察输入、处理和输出是否能对应起来。
如果想把《Pytorch小白从零学教程系列:张量的基本操作》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。
总结
到此我们已经介绍了张量的基本操作,包括加法与减法、乘法与除法、转置、连接以及统计操作。这些操作是处理和分析数据的基础。在下一篇文章中,我们将讨论张量的索引与切片,帮助大家更灵活地操作张量。
开始读《Pytorch小白从零学教程系列:张量的基本操作》前,可以先看图中从问题到结果的路径。读完后再对照正文,确认自己能不能照着复现。
希望本篇对你深入了解张量的基本操作有所帮助!如有疑问或者想了解更多内容,欢迎随时提问。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
Pytorch小白从零学教程系列:张量的基本操作适合谁读?
这是 PyTorch 入门 系列第 6 / 20 篇,适合正在学习PyTorch 入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇PyTorch 入门教程要多久?
按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读