归并操作

此类操作会使输出形状小于输入形状,并可以沿着某一维度进行指定操作。如加法sum,既可以计算整个tensor的和,也可以计算tensor中每一行或每一列的和。常用的归并操作如表3-5所示。

表3-5: 常用归并操作

函数 功能
mean/sum/median/mode 均值/和/中位数/众数
norm/dist 范数/距离
std/var 标准差/方差
cumsum/cumprod 累加/累乘

以上大多数函数都有一个参数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

In [76]:

b = t.ones(2, 3)
b.sum(dim = 0, keepdim=True)

Out[76]:

tensor([[2., 2., 2.]])

In [77]:

# keepdim=False,不保留维度"1",注意形状
b.sum(dim=0, keepdim=False)

Out[77]:

tensor([2., 2., 2.])

In [78]:

b.sum(dim=1)

Out[78]:

tensor([3., 3.])

In [79]:

a = t.arange(0, 6).view(2, 3)
print(a)
a.cumsum(dim=1) # 沿着行累加
tensor([[0, 1, 2],[3, 4, 5]])

Out[79]:

tensor([[ 0,  1,  3],[ 3,  7, 12]])

Tensor:归并操作相关推荐

  1. pytorch Tensor的操作和Numpy之间的转化(三)

    tensor中的比较 比较函数中有一些是逐元素比较,操作类似于逐元素操作,还有一些则类似于归并操作.常用比较函数如表3-6所示. 常用比较函数 函数 功能 gt/lt/ge/le/eq/ne 大于/小 ...

  2. Pytorch——torch.Tensor.data操作的含义

    1 致谢 感谢陈助教的帮助! 2 前言 今天在学习FaceBoxes~ 看到一句代码不是很懂, prior_data = priors.data 因为data是torch.Tensor类的一个成员变量 ...

  3. 【n次归并操作】瑞士轮

    洛谷p1309 考虑到在一轮比赛后,胜者组的n人(均加一分)和败者组的n人(均不得分)的相对次序没有发生变化,故比赛每进行一轮,相当于对胜者组和败者组进行一次归并操作.其中,胜者组字在归并前需要先加上 ...

  4. PyTorch 笔记(06)— Tensor 索引操作(index_select、masked_select、non_zero、gather)

    Tensor 支持与 numpy.ndarray 类似的索引操作,如无特殊说明,索引出来的结果与源 tensor 共享内存,即修改一个,另外一个也会跟着改变. In [65]: a = t.arang ...

  5. Pytorch(2)-tensor常用操作

    tensor常用数学操作 1. 随机数 1.1 torch.rand() - 均匀分布数字 1.2 torch.randn() - 正态分布数字 2. 求和 2.1 torch.sum(data, d ...

  6. Tensor:索引操作

    索引操作 Tensor支持与numpy.ndarray类似的索引操作,语法上也类似,下面通过一些例子,讲解常用的索引操作.如无特殊说明,索引出来的结果与原tensor共享内存,也即修改一个,另一个会跟 ...

  7. Tensor基础操作总结

    文章目录 前言 一.tensor是什么? 二.tensor的基本操作 1.tensor的创建 2.基础操作 3.索引与切片 4.广播机制 5.tensor和numpy的互相转换 6.在GPU上使用te ...

  8. 张量(Tensor)操作

    目录 1.torch.cat():将张量按照dim维度进行拼接 2.torch.stack():将张量在新创建的dim维度上进行拼接 3.torch.chunk():将张量按照维度 dim 进行平均切 ...

  9. pytorch.tensor常见操作

    文章目录 1. torch.randperm 2. torch.repeat_interleave 3. torch.linspace 4. torch.bmm 5. tensor.repeat 6. ...

最新文章

  1. 2022年十大AI预测
  2. mysql开启skip-name-resolve 导致root@127.0.0.1(localhost)访问引发的ERROR 1045 (28000)错误解决方案...
  3. php redis删除所有key,PHP 对 Redis key 值的操作
  4. 12 哈希表相关类——Live555源码阅读(一)基本组件类
  5. oracle的redolog停止,Oracle Redo Log日志故障处理一则
  6. 企业级Ngnix基于域名的配置_server
  7. 简单解决新浪博客“您短时间发表文章过多,请稍后再试”的问题
  8. 数据库的海量数据的存储解析
  9. 服务器 异常自动关机,服务器自动关机
  10. 如何将PDF英文文档进行翻译?
  11. AXD 汇编调试经验,使用及问题
  12. 关于DAG共识的调研
  13. “Internet来宾帐户”的设置的问题
  14. word排版案例报告_导师:论文排版都搞不好,你拿什么去投稿?!
  15. JavaScript数组的push()等方法的使用
  16. win11任务图标变成白色处理方法
  17. 一、SpringCloud入门
  18. SEED-XDS560Plus Emulator for CCS3.3.82.exe 在硬盘上都安装了什么?
  19. Python案例:围棋的状态数
  20. css伪类炫酷迷幻边框

热门文章

  1. 通过url判断当前页,动态给导航加样式
  2. ListView上拉加载,下拉刷新 PullToRefresh的使用
  3. Mvc Webapi+Fiddler调试 (WebAPI 一)
  4. PHP网络操作函数汇总
  5. Java中常用的加密算法MD5,SHA,RSA
  6. Data Pump failed with ORA-04031/ORA-4030?
  7. LFS安装过程记录(1)-准备工作
  8. sql server 2000的数据库还原
  9. VMware Centos 网络配置
  10. 04-07 接口请求构造