torch.sum(),dim=0,dim=1, dim=-1解析

对于二维

参考:torch.sum(),dim=0,dim=1解析_(torch.sum(self.v.patch_embed.proj.weight, dim=1)._天青色的瓷的博客-CSDN博客

1.dim=0

 

纵向压缩

2.dim=1

 

横向压缩

3.dim=-1(对于高维,维度≥3)

直接看例子

import torch
a = torch.Tensor([[[[1, 2], [3, 4]], [[5, 6], [7, 8]]],
                  [[[9, 10], [11, 12]], [[13, 14], [15, 16]]],
                  [[[17, 18], [19, 20]], [[21, 22], [23, 24]]],
                  [[[25, 26], [27, 28]], [[29, 30], [31, 32]]]])

print(a[-2])   #取该维度下(四维)的倒数第二个元素,即17-24的值
print(torch.sum(a[-2],dim=0))
print(torch.sum(a[-2],dim=1))
print(torch.sum(a[-2],dim=-1))

#输出
'''
tensor([[[17., 18.],
         [19., 20.]],

        [[21., 22.],
         [23., 24.]]])


tensor([[38., 40.],
        [42., 44.]])

tensor([[36., 38.],
        [44., 46.]])

tensor([[35., 39.],
        [43., 47.]])
'''

计算参考示意图

pytorch | softmax(x,dim=-1)参数dim的理解 - 知乎 (zhihu.com)

 虽然是softmax的示意图,但是经过我做实验发现当该例子使用该图对得上

dim=0
38=17+21
40=18+22
42=19+23
44=20+24

dim=1
36=17+19
38=18+20
44=21+23
46=22+24

dim=-1/dim=2
35=17+18
39=19+20
43=21+22
47=23+24

即dim=-1时为倒数第一维,即等同于dim=2

经过我做实验确实如此:

 学会在实践中成长!!!

fighting!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值