【PyTorch基础】torch.sum()

python 专栏收录该内容
3 篇文章 0 订阅

torch.sum()对输入的tensor数据的某一维度求和,一共两种用法

1.torch.sum(input, dtype=None)
2.torch.sum(input, list: dim, bool: keepdim=False, dtype=None) → Tensor

  • input:输入一个tensor
  • dim:要求和的维度,可以是一个列表
  • keepdim:求和之后这个dim的元素个数为1,所以要被去掉,如果要保留这个维度,则应当keepdim=True

举例说明:

import torch
a = torch.ones((2, 3))
print(a)

a1 = torch.sum(a, dim=(0, 1))
a2 = torch.sum(a, dim=0)
a3 = torch.sum(a, dim=1)


print(a1)
print(a2)
print(a3)
tensor([[1., 1., 1.],
        [1., 1., 1.]])
tensor(6.)
tensor([2., 2., 2.])
tensor([3., 3.])
  • 如何理解指定维度后的求和?
    a2 = torch.sum(a, dim=0)
    tensor([2., 2., 2.])

    => dim=0,即第0个维度会缩减,也就是说将N行压缩成一行,故相当于对列进行求和。

如果加上keepdim=True的话,则保持了原有维度,举例如下:

a1 = torch.sum(a, dim=(0, 1), keepdim=True)
a2 = torch.sum(a, dim=(0, ), keepdim=True)
a3 = torch.sum(a, dim=(1, ), keepdim=True)


print(a1)
print(a2)
print(a3)
tensor([[1., 1., 1.],
        [1., 1., 1.]])
tensor([[6.]])
tensor([[2., 2., 2.]])
tensor([[3.],
        [3.]])
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

baekii

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值