torch.cumsum() 和 torch.cumprod()
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",取决于参数keepdim
,keepdim=True
会保留维度1
。注意,以上只是经验总结,并非所有函数都符合这种形状变化方式,如cumsum
。
同理,torch.cumprod()
dim=1时,第一列不变,后面的每列将前面列的元素乘起来,如 12 = 3 * 4 ,60 = 3 * 4 * 5 。
dim=0时,第一行不变,后面每行将前面行对应元素乘起来,如 10 = 2 * 5 。
torch.cumsum() 和 torch.cumprod()相关推荐
- pytorch torch.cumsum(input, dim, out=None)函数(沿轴逐级累加)
torch.cumsum(input, dim, out=None) → Tensor 返回输入沿指定维度的累积和.例如,如果输入是一个N元向量,则结果也是一个N元向量,第i 个输出元素值为 yi=x ...
- torch.cumsum(),torch.sum()
1.torch.cumsum(input, dim, *, dtype=None, out=None) → Tensor 返回维度 dim 中输入元素的累积和 >>> import ...
- 剖析 | torch.cumsum维度详解
最近看别人代码的时候看到这么一个函数,一看吧,感觉是个求和的函数,毕竟有sum这种,可能性还是比较大,于是准备深入看看,具体是干嘛的. 1.写法.先不管结果如何,代码得先写出来. 函数原型: torc ...
- PyTorch 笔记(08)— Tensor 比较运算(torch.gt、lt、ge、le、eq、ne、torch.topk、torch.sort、torch.max、torch.min)
1. 常用函数 比较函数中有一些是逐元素比较,操作类似逐元素操作,还有一些类似归并操作,常用的比较函数如下表所示. 表中第一行的比较操作已经实现了运算符重载,因此可以使用 a>=b,a>b ...
- torch.Tensor和torch.tensor的区别
torch.Tensor和torch.tensor的区别 2019-06-10 16:34:48 Vic_Hao 阅读数 4058更多 分类专栏: Pytorch 在Pytorch中,Tensor和t ...
- 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 ...
- pytorch拼接函数:torch.stack()和torch.cat()--详解及例子
原文链接: https://blog.csdn.net/xinjieyuan/article/details/105205326 https://blog.csdn.net/xinjieyuan/ar ...
- torch.unsqueeze()和torch.unsqueeze()
参考:torch.squeeze() 和torch.unsqueeze()用法的通俗解释 import torch x = torch.tensor([[1, 2, 3],[1, 2, 3],[1, ...
- Pytorch中的 torch.as_tensor() 和 torch.from_numpy() 的区别
之前我写过一篇文章,比较了 torch.Tensor() 和 torch.tensor() 的区别,而这两者都是深拷贝的方法,返回张量的同时,会在内存中创建一个额外的数据副本,与原数据不共享内存,所以 ...
最新文章
- 学习笔记 九: DNS
- ViSP视觉库中实现AprilTag的方法
- .Net Micro Framework研究—TCP/IP通信
- C、C++ 宽字符WCString转为char*
- 任意进制转化 函数 模板(一)
- Python 循环删除指定文件夹下所有的.longtian类型文件
- 学java要算法吗_学习java不可不知的几种算法
- Servlet第四篇【request对象常用方法、应用】
- Android中使用HttpURLConnection实现GET POST JSON数据与下载图片
- Transformer提效之路干货笔记——一文梳理各种魔改版本Transformer
- JMETER录制脚本,脚本增强,参数化,作用域和执行顺序
- UDP SOCKET 两台电脑通信
- 小米上市之后的危与机
- 自定义 View 之抖音时钟罗盘仪效果
- 服务器运行速度测试方法,服务器如何测试运行速度
- cisp有哪些方向?
- python面向对象OOP编程(三)-- 同类 不同实例 之间的关联关系
- 辗转相除求最大公约数原理
- 数据库驱动和JDBC
- [从头读历史] 第275节 诗经 秦风
热门文章
- 程序员都看不懂的代码
- CUMT矿大----电路与数字系统实验四 计数、译码、显示的HDL设计
- python6小时完全入门_如果只有1小时学Python,看这篇就够了,摸摸头发你还好吗!...
- 山东理工大学-2022级-程序设计基础I-实验9 字符串
- java中poi导出Excel表格(前台流文件接收)
- VirtualBox中安装懒人版macOS Mojave黑苹果系统
- Jina AI 蝉联 2022 CB Insights 全球 AI 百强
- Python super细节整理
- eclipse配置hadoop2.7.2开发环境并本地跑起来
- hadoop问题集(1)