首页 > 编程笔记 > Python笔记 阅读:3

PyTorch torch.sum()求和函数的用法(附带实例)

PyTorch与其他统计软件一样,也内置了丰富的统计函数。使用 torch.sum() 函数求和,该函数对输入的张量数据的某一维度求和,一共有两种格式。

第一种格式:
torch.sum(input, dtype=None)
计算输入张量 input 中所有元素的和,返回一个标量值。

第二种格式:
torch.sum(input, dim, keepdim=False, dtype=None)
计算输入张量 input 在指定维度 dim 上的和,并返回一个新的张量。

参数说明:
【实例】首先,创建初始张量,代码如下:
# 导入torch库
import torch
# 创建一个2×2的张量a,元素为随机数
a = torch.rand(2,2)
print(a)
输出如下:
tensor([[0.0528, 0.3420],
       [0.5011, 0.4264]])

设置参数 input 和 dim,代码如下:
a1 = torch.sum(a)                # 计算张量a所有元素的和
a2 = torch.sum(a, dim=(0, 1))    # 沿着第0维和第1维计算张量a的元素和
a3 = torch.sum(a, dim=0)         # 沿着第0维计算张量a的元素和
a4 = torch.sum(a, dim=1)         # 沿着第1维计算张量a的元素和
print(a1)
print(a2)
print(a3)
print(a4)
输出如下:

tensor(1.3223)
tensor(1.3223)
tensor([0.5539, 0.7684])
tensor([0.3948, 0.9275])


设置参数 keepdim,代码如下:
a5 = torch.sum(a, dim=(0, 1), keepdim=True) # 沿着第0维和第1维计算张量a的元素和,保持原始维度
a6 = torch.sum(a, dim=(0, ), keepdim=True)  # 沿着第0维计算张量a的元素和,保持原始维度
a7 = torch.sum(a, dim=(1, ), keepdim=True)  # 沿着第1维计算张量a的元素和,保持原始维度
print(a5)
print(a6)
print(a7)
输出如下:

tensor([[1.3223]])
tensor([[0.5539, 0.7684]])
tensor([[0.3948],
[0.9275]])

相关文章