import torch as t
a = t.arange(0, 6).view(2,3)
print(a)
a.cumsum(dim=0)

a = t.arange(0, 6).view(2,3)
print(a)
a.cumsum(dim=1)

对于二维输入a,dim=0(第1行不动,将第1行累加到其他行);dim=1(进入最内层,转化成列处理。第1列不动,将第1列累加到其他列;从第一列开始后面的每一列都是前面对应行元素的累加和),运行结果如下:

参数dim,用来指定这些操作是在哪个维度上执行的。关于dim(对应于Numpy中的axis)有提供一个简单的记忆方式:

假设输入的形状是(m, n, k)

  • 如果指定dim=0,输出的形状就是(1, n, k)或者(n, k)
  • 如果指定dim=1,输出的形状就是(m, 1, k)或者(m, k)
  • 如果指定dim=2,输出的形状就是(m, n, 1)或者(m, n)

size中是否有"1",取决于参数keepdimkeepdim=True会保留维度1。注意,以上只是经验总结,并非所有函数都符合这种形状变化方式,如cumsum

同理,torch.cumprod()

dim=1时,第一列不变,后面的每列将前面列的元素乘起来,如 12 = 3 * 4 ,60 = 3 * 4 * 5 。

dim=0时,第一行不变,后面每行将前面行对应元素乘起来,如 10 = 2 * 5 。

torch.cumsum() 和 torch.cumprod()相关推荐

  1. pytorch torch.cumsum(input, dim, out=None)函数(沿轴逐级累加)

    torch.cumsum(input, dim, out=None) → Tensor 返回输入沿指定维度的累积和.例如,如果输入是一个N元向量,则结果也是一个N元向量,第i 个输出元素值为 yi=x ...

  2. torch.cumsum(),torch.sum()

    1.torch.cumsum(input, dim, *, dtype=None, out=None) → Tensor 返回维度 dim 中输入元素的累积和 >>> import ...

  3. 剖析 | torch.cumsum维度详解

    最近看别人代码的时候看到这么一个函数,一看吧,感觉是个求和的函数,毕竟有sum这种,可能性还是比较大,于是准备深入看看,具体是干嘛的. 1.写法.先不管结果如何,代码得先写出来. 函数原型: torc ...

  4. PyTorch 笔记(08)— Tensor 比较运算(torch.gt、lt、ge、le、eq、ne、torch.topk、torch.sort、torch.max、torch.min)

    1. 常用函数 比较函数中有一些是逐元素比较,操作类似逐元素操作,还有一些类似归并操作,常用的比较函数如下表所示. 表中第一行的比较操作已经实现了运算符重载,因此可以使用 a>=b,a>b ...

  5. torch.Tensor和torch.tensor的区别

    torch.Tensor和torch.tensor的区别 2019-06-10 16:34:48 Vic_Hao 阅读数 4058更多 分类专栏: Pytorch 在Pytorch中,Tensor和t ...

  6. pytorch torch.Tensor.new_ones()(返回一个与size大小相同的用1填充的张量。 默认返回的Tensor具有与此张量相同的torch.dtype和torch.device)

    from https://pytorch.org/docs/1.1.0/tensors.html?highlight=new_ones#torch.Tensor.new_ones new_ones(s ...

  7. pytorch拼接函数:torch.stack()和torch.cat()--详解及例子

    原文链接: https://blog.csdn.net/xinjieyuan/article/details/105205326 https://blog.csdn.net/xinjieyuan/ar ...

  8. torch.unsqueeze()和torch.unsqueeze()

    参考:torch.squeeze() 和torch.unsqueeze()用法的通俗解释 import torch x = torch.tensor([[1, 2, 3],[1, 2, 3],[1, ...

  9. Pytorch中的 torch.as_tensor() 和 torch.from_numpy() 的区别

    之前我写过一篇文章,比较了 torch.Tensor() 和 torch.tensor() 的区别,而这两者都是深拷贝的方法,返回张量的同时,会在内存中创建一个额外的数据副本,与原数据不共享内存,所以 ...

最新文章

  1. 学习笔记 九: DNS
  2. ViSP视觉库中实现AprilTag的方法
  3. .Net Micro Framework研究—TCP/IP通信
  4. C、C++ 宽字符WCString转为char*
  5. 任意进制转化 函数 模板(一)
  6. Python 循环删除指定文件夹下所有的.longtian类型文件
  7. 学java要算法吗_学习java不可不知的几种算法
  8. Servlet第四篇【request对象常用方法、应用】
  9. Android中使用HttpURLConnection实现GET POST JSON数据与下载图片
  10. Transformer提效之路干货笔记——一文梳理各种魔改版本Transformer
  11. JMETER录制脚本,脚本增强,参数化,作用域和执行顺序
  12. UDP SOCKET 两台电脑通信
  13. 小米上市之后的危与机
  14. 自定义 View 之抖音时钟罗盘仪效果
  15. 服务器运行速度测试方法,服务器如何测试运行速度
  16. cisp有哪些方向?
  17. python面向对象OOP编程(三)-- 同类 不同实例 之间的关联关系
  18. 辗转相除求最大公约数原理
  19. 数据库驱动和JDBC
  20. [从头读历史] 第275节 诗经 秦风

热门文章

  1. 程序员都看不懂的代码
  2. CUMT矿大----电路与数字系统实验四 计数、译码、显示的HDL设计
  3. python6小时完全入门_如果只有1小时学Python,看这篇就够了,摸摸头发你还好吗!...
  4. 山东理工大学-2022级-程序设计基础I-实验9 字符串
  5. java中poi导出Excel表格(前台流文件接收)
  6. VirtualBox中安装懒人版macOS Mojave黑苹果系统
  7. Jina AI 蝉联 2022 CB Insights 全球 AI 百强
  8. Python super细节整理
  9. eclipse配置hadoop2.7.2开发环境并本地跑起来
  10. hadoop问题集(1)