PyTorch中各种求和运算

首先定义张量A

python 复制代码
A = torch.arange(20, dtype=torch.float32).reshape(5, 4)
tensor([[ 0.,  1.,  2.,  3.],
        [ 4.,  5.,  6.,  7.],
        [ 8.,  9., 10., 11.],
        [12., 13., 14., 15.],
        [16., 17., 18., 19.]])

1. 降维求和

降维求和会沿指定轴降低张量的维度,使它变为一个标量。

python 复制代码
A_sum_axis0 = A.sum(axis=0)  # 压缩为一行
tensor([40., 45., 50., 55.]

A_sum_axis1 = A.sum(axis=1)  # 压缩为一列
tensor([ 6., 22., 38., 54., 70.]

A_sum = A.sum(axis=[0, 1])  # 结果与 A.sum() 相同
tensor(190.)

2. 非降维求和

保持轴数不变

python 复制代码
A_sum_axis0 = A.sum(axis=0, keepdims=True)
tensor([[40., 45., 50., 55.]])

A_sum_axis1 = A.sum(axis=1, keepdims=True)
tensor([[ 6.],
        [22.],
        [38.],
        [54.],
        [70.]])

A_sum = A.sum(axis=[0, 1], keepdims=True)
tensor([[190.]])

3. 累积求和

沿某个轴计算A元素的累积总和,此函数不会沿任何轴降低输入张量的维度。

python 复制代码
A_sum_axis0 = A.cumsum(axis=0)
tensor([[ 0.,  1.,  2.,  3.],
        [ 4.,  6.,  8., 10.],
        [12., 15., 18., 21.],
        [24., 28., 32., 36.],
        [40., 45., 50., 55.]])

A_sum_axis1 = A.cumsum(axis=1)
tensor([[ 0.,  1.,  3.,  6.],
        [ 4.,  9., 15., 22.],
        [ 8., 17., 27., 38.],
        [12., 25., 39., 54.],
        [16., 33., 51., 70.]])
相关推荐
WoooChi4 分钟前
DailyTech-20260810
人工智能·科技·业界资讯
笨鸟先飞,勤能补拙9 分钟前
网络安全等级保护 2.0:从定级备案、建设整改到持续合规的系统指南
网络·人工智能·windows·安全·web安全·网络安全·github
karry_k11 分钟前
Skill 到底是什么?从提示词、脚本到多智能体工作流的完整指南
java·人工智能·后端
战略性的菠萝17 分钟前
研究生基本功-Python快速入门(一)
python
redsea_HR18 分钟前
红海云HR系统评测:三级国际医院HR数字化落地全程参考
大数据·人工智能
wordbaby21 分钟前
Agent 不够用? 也许你差的不是模型
人工智能
双翌视觉26 分钟前
可见光之外的视界,短波红外成像技术能做什么?
人工智能·计算机视觉·视觉检测
m0_5474866628 分钟前
《人工智能导论:深度学习大模型基础》全套PPT课件2026
人工智能·深度学习·大模型
ZhengEnCi31 分钟前
为什么 DeepSeek V4 Flash 可以超过 V4 Pro Preview
人工智能
wordbaby32 分钟前
别问实习生,看回执单——Agent 验证层的核心原则
人工智能