pytorch中torch.gather()简单理解

1.作用

从输入张量中按照指定维度进行索引采集操作,返回值是一个新的张量,形状与 index 张量相同,根据指定的索引从输入张量中采集对应的元素。

2.问题

该函数的主要问题主要在dim维度上,dim=0 表示沿着第一个维度(行)进行索引采集,而 dim=1 表示沿着第二个维度(列)进行索引采集。
简单讲:dim=0,将在行上进行采集,行数不变,在列上取值,如下图中的例子torch.gather(input, dim=0, index=index),当dim=0时,[0,1]中0对应第一行第一列也就是1,1对应着第2行第2列(1在index的坐标为(1,2),dim=0,所以不用看index的行坐标的,只管纵坐标,也就是第2列。而此时值为1代表值input的行【需要+1,下标是从0开始的】,也就是第2行,值为4)也就是4;[1,0]中的1代表第2行第1列也就是3,0也就是第2列的第一行数据(此时index的0的坐标为(2,2),因为dim=0,也就不用看横坐标,也就是第二列。所以此时的0代表源input的行坐标,也就是第一行)也就是2

python 复制代码
input = torch.tensor([[1, 2], [3, 4], [5, 6]])
index = torch.tensor([[0, 1], [1, 0]])

result = torch.gather(input, dim=0, index=index)
result_colum = torch.gather(input, dim=1, index=index)
print("result:",result)
print("result_colum:",result_colum)

结果如下:

相关推荐
美狐美颜sdk7 分钟前
从API到UI:直播美颜SDK中的滤镜与贴纸功能开发与落地方案详解
人工智能·ui·音视频·美颜sdk·视频美颜sdk·美颜api
菜只因C8 分钟前
嵌入式系统:技术演进、应用领域发展趋势全面解析
人工智能·软件工程
半青年19 分钟前
Qt读取Excel文件的技术实现与最佳实践
c语言·c++·python·qt·c#·excel
上海云盾商务经理杨杨20 分钟前
2025年AI与网络安全的终极博弈:冲击、重构与生存法则
人工智能·安全·web安全·网络安全·重构
AI360labs_atyun23 分钟前
谷歌前CEO TED演讲解析:AI 红利的三年窗口期与行业重构
人工智能·科技·ai·重构·llama·教育
无闻墨客25 分钟前
数据分析与应用---数据可视化基础
python·信息可视化·数据挖掘·数据分析·matplotlib
Jamence29 分钟前
多模态大语言模型arxiv论文略读(八十)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
xiaohanbao0931 分钟前
day30 python 模块、包与库的高效使用指南
人工智能·python·学习·算法
Q_Q196328847534 分钟前
python动漫论坛管理系统
开发语言·spring boot·python·django·flask·node.js·php
liuweidong080234 分钟前
【Pandas】pandas DataFrame mode
python·数据挖掘·pandas