Pytorch中的基本语法之torch.sum(dim=int)以及由此引出的torch.size张量维度详解

本文通过实践理解PyTorch中`torch.sum(dim=int)`的效果,展示如何减少张量维度,并解释`dim`参数的作用。同时,文章探讨了PyTorch张量的维度表示,如`torch.Size([3, 4, 2])`,通过实例帮助读者掌握张量的形状和结构。" 116860932,10510814,C++中的四种类型转换运算符详解,"['C++开发', '编程语言', '类型系统']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Lyndsey小鱼的日常琐碎笔记分享:

最近切身的真实感悟就是:要想真正理解以及学会使用,就必须得自己亲手去实践,而不是看着别人的博客笔记说,我差不多懂了,就过了。
所以,我现在也在用行动去证明这一点啦~

一、动手实践理解dim(int)的效果

(对于科研新手来说,做实验方面,首先最基本的就是要学会看懂别人代码是在干嘛啦~)
话不多说,直接进入今天的话题,我在看别人的代码时,看到了这样一个部分(注释都是我自己写的):

N, C = weight.shape  # N C 获取当前权重的尺寸
        # print(weight.shape)  # torch.Size([16, 256])
        weight = weight.view(N, C, 1, 1, 1).expand_as(feature)  # 将权重的大小调整为与feature一样的大小 //   # 只是维度有变化
        # print(weight.shape)  # torch.Size([16, 256, 75, 25, 2])
        # 把一个tensor变成和函数括号内一样形状的tensor,用法与expand()类似。差别是expand括号里为size,expand_as括号里为其他tensor
        result = (weight * feature).sum(dim=1)   # 这个部分就不是很理解它是怎么变换的
        # print(result.shape)  # torch.Size([16, 75, 25, 2])
        result = result.mean(dim=0)
        # print(result.shape)   # torch.Size([75, 25, 2])

请大家找到我注释的说不太懂变换那里,我将其输出查看,都是诸如以下的样子,根本看不到具体的变化。

          [ 0.0199,  0.0199],
           [ 0.0199,  0.0199],
           [ 0.0199,  0.0199]],
          ...,
          [[ 0.0199,  0.0199],
           [ 0.0199,  0.0199],
           [ 0.0199,  0.0199],
           ...,
          [[ 0.0199,  0.0199],
           [ 0.019
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值