郭震 AI公众号:郭震AI

6 Pytorch小白从零学教程系列:张量的基本操作

发布日期:

最近更新:

分类: Pytorch小白

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点7 个
图文要点6 张
正文规模985 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 7 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

张量基本操作流程图查看大图
张量基本操作流程图

张量操作的难点通常不在公式,而在维度。加减乘除、矩阵乘法、转置和广播都要先确认形状是否符合预期。

张量基本操作核对图查看大图
张量基本操作核对图

我会在关键运算前后打印 shape。不要等报错才看维度,形状检查应该变成习惯。

在上一篇我们讨论了张量的定义与构造,相信大家已经对张量的基础概念有了一定了解。本篇将聚焦于张量的基本操作,让我们一起深入探讨张量在实际使用中的常见操作。

张量的基本操作

在PyTorch中,各种操作都是基于张量的,因此掌握基本操作是至关重要的。我们将涵盖以下几种操作:

PyTorch张量基本操作判断卡查看大图
PyTorch张量基本操作判断卡

学习张量基本操作时,先看每一步如何改变 shape、dtype 和 device。形状变化清楚,模型输入输出才容易对齐。

  1. 加法与减法
  2. 乘法与除法
  3. 张量的转置
  4. 张量的连接
  5. 张量的数值统计

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小白从零学教程系列:张量的基本操作应用检查卡

如果想把《Pytorch小白从零学教程系列:张量的基本操作》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。

总结

到此我们已经介绍了张量的基本操作,包括加法与减法、乘法与除法、转置、连接以及统计操作。这些操作是处理和分析数据的基础。在下一篇文章中,我们将讨论张量的索引与切片,帮助大家更灵活地操作张量。

PyTorch阅读地图卡查看大图
PyTorch阅读地图卡

开始读《Pytorch小白从零学教程系列:张量的基本操作》前,可以先看图中从问题到结果的路径。读完后再对照正文,确认自己能不能照着复现。

希望本篇对你深入了解张量的基本操作有所帮助!如有疑问或者想了解更多内容,欢迎随时提问。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

Pytorch小白从零学教程系列:张量的基本操作适合谁读?

这是 PyTorch 入门 系列第 6 / 20 篇,适合正在学习PyTorch 入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇PyTorch 入门教程要多久?

按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...