torch.sum(input, dim=tuple/int)用法

无论dim是个tuple还是一个int型整数,都是要让对应的维度消失。
举例:

a = torch.tensor([
    [
        [
            [1,2,3],
            [4,5,6]
        ]
    ]
])
print(a)
a.shape

输出:

tensor([[[[1, 2, 3],
          [4, 5, 6]]]])
torch.Size([1, 1, 2, 3])

对dim=2求和,就让dim=2消失,dim=2对应的值是2,
它消失后的shape就是[1,1,3],怎么样让dim=2消失,1+4,2+5,3+6,这样原来的[1,2,3],[4,5,6]变成了[5,7,9],原来的dim=2消失了,它的位置被原来的dim=3接替,新的shape就成了[1,1,3],如下所示:

b = torch.sum(a, dim=2)
print(b)
print(b.shape)

输出:

tensor([[[5, 7, 9]]])
torch.Size([1, 1, 3])

同样可以对dim=3求和:

c = torch.sum(a, dim=3)
print(c)
print(c.shape)

输出:

tensor([[[ 6, 15]]])
torch.Size([1, 1, 2])

如果dim是个tuple, 那么就让tuple里所有的数对应的维度消失,比如dim=(2,3),那么2,3维度没了,也就是原来a的shape由[1,1,2,3]变成[1,1],如下所示:

d = torch.sum(a, dim=(2,3))
print(d)
print(d.shape)

输出:

tensor([[21]])
torch.Size([1, 1])

21是同时对第2,3维度求和的结果,即1+2+3+4+5+6=21。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值