torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor

沿dim指定的轴聚集值。

对于三维张量,输出由以下公式指定:

out[i][j][k] = input[index[i][j][k]][j][k]  # if dim == 0
out[i][j][k] = input[i][index[i][j][k]][k]  # if dim == 1
out[i][j][k] = input[i][j][index[i][j][k]]  # if dim == 2

如果input是大小为(x0, x1…, xi−1, xi, xi+1, …, xn−1) 的n维张量并且dim = i,那么index必须是大小为(x0, x1…, xi−1, y, xi+1, …, xn−1) 的n维张量,并且 y >= 1,outindex具有相同的大小。

Parameters

  • input (Tensor) – 输入张量
  • dim (int) – 要索引的轴
  • index (LongTensor) – 要收集的元素的索引
  • sparse_grad (bool,optional) – 如果为True,梯度w.r.t。input将是一个稀疏张量。
  • out (Tensor, optional) – 目标张量

Example:

>>> t = torch.tensor([[1, 2], [3, 4]])
>>> torch.gather(dim=1, index=torch.tensor([[0, 0], [1, 0]]))
tensor([[ 1,  1],[ 4,  3]])

dim=1 时,就是按列进行索引,dim=0 时,就是按行进行索引。
然后按照index去交换元素的位置。

torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor相关推荐

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

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

  2. torch.unsqueeze(input, dim)函数

    函数调用形式:torch.unsqueeze(input, dim) → Tensor 功能: 在指定位置 dim 插入一个大小为1的维度 input: old tensor dim: 插入维度的位置 ...

  3. gather torch_浅谈Pytorch中的torch.gather函数的含义

    pytorch中的gather函数 pytorch比tensorflow更加编程友好,所以准备用pytorch试着做最近要做的一些实验. 立个flag开始学习pytorch,新开一个分类整理学习pyt ...

  4. pytorch之torch.gather方法

    首先,先给出torch.gather函数的函数定义: torch.gather(input, dim, index, out=None) → Tensor 官方给出的解释是这样的:           ...

  5. Pytorch中的torch.gather函数的含义

    pytorch中的gather函数 pytorch比tensorflow更加编程友好,所以准备用pytorch试着做最近要做的一些实验. 立个flag开始学习pytorch,新开一个分类整理学习pyt ...

  6. gather torch_pytorch中的Torch.gather函数的含义

    在动手学习深度学习中学到了一个函数gather,原文是说可以通过gather得到标签的预测概率. y_hat = torch.tensor([[0.1,0.3,0.6],[0.3,0.2,0.5]]) ...

  7. Torch.gather

    该函数的作用为:收集指定索引位置的值. 先将函数原型写出: torch.gather(input, dim, index, out=None) → Tensor 参数: input (Tensor) ...

  8. torch gather函数理解 图解

    看了好几篇了,没有直接看明白,特梳理之 功能 数据收集,函数torch.gather(input, dim, index, out=None) → Tensor 沿给定轴 dim ,将输入索引张量 i ...

  9. [pytorch]——torch.gather(以BERT中的MLM为例)

    前言 都知道BERT中有MLM的任务,假设此时ENCODER的输出output的大小为: batch_size x max_len x d_model,而对于每一个句子,都有对应的数个被mask掉的单 ...

最新文章

  1. alert 回调_element之Alert 警告
  2. L1-013. 计算阶乘和
  3. 往Cloud Foundry上部署应用背后的技术实现
  4. linux pam模块 cron,Linux-PAM 1.1.2 中文文档 - 6.32. pam_tally-登录计数器(统计)模块 | Docs4dev...
  5. 安装ubuntu20.04(安装vim、gcc、VMtools、中文输入法、汉化、修改IP地址)
  6. SpringCloud OpenFeign服务调用客户端介绍及配置使用
  7. C#学习-程序集和反射
  8. MovieLens电影推荐系统
  9. mysql 唯一索引_mysql创建唯一索引
  10. matlab GUI学习笔记4 如何添加并设置下拉菜单以及GUI解决不用直接用load的问题
  11. allegro 导 bom
  12. 苹果关掉200m限制_苹果怎么取消200m限制
  13. amoeba mysql_从零开始:Mysql基于Amoeba的集群搭建
  14. 邮箱密码忘了怎么找回
  15. 大数据——DBT:数据治理、血缘关系DBT的安装及测试(基础使用篇)
  16. 2022.12.14 英语背诵
  17. Redis从入门到深入-删除策略(18)
  18. 垃圾桶--360安全浏览器插件,用于自助过滤不良信息;
  19. 2019计算机图形学会议SIGGRAPH上都有哪些新探索?沉浸式科技前沿
  20. Oracle远程创建表空间报错ORA-01119 ORA-27040 OSD-O4OO2

热门文章

  1. ##安装MySql数据库并解决如果安装出错卸载的注意事项
  2. 机器学习入门KNN近邻算法(一)
  3. “未能加载文件或程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”...
  4. 输入输出(Input and Output)
  5. 在pl/sql中使用exp/imp工具实现oracle数据导出/导入
  6. 【小菜日志】用C#完成Allen Lee's Magic大虾推荐的F#作业F#学习中
  7. C语言训练题-铺草坪简易版
  8. oracle移植mysql方案_系统从MySQL迁移至ORACLE实现方案
  9. 【2012百度之星/初赛下】C:度度熊的礼物
  10. 运行错误:Application Error - The connection to the server was unsuccessful