torch.gather()使用解析

这篇具有很好参考价值的文章主要介绍了torch.gather()使用解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

这个本来是没打算写的,因为看了官方的解释以及在网上看了好几个教程都没理解什么意思,所以把自己理解的东西整理分享一下。

官方的解释

官网链接:torch.gather()
给个截图如下
torch.gather()使用解析
常用的参数有3个,第一个input表示要从中选取元素,第二个dim表示操作的维度,第三个index表示选取元素的索引。
按照官方的解释我是没看懂的,后面去找教程也一知半解,所以自己琢磨了一下,终于悟了。

使用详解

结合着例子,直接看代码把:

import torch

a = torch.arange(3, 12).view(3, 3)
print(a)
# tensor([[ 3,  4,  5],
#         [ 6,  7,  8],
#         [ 9, 10, 11]])
index = torch.tensor([[2, 1, 0]])
b = torch.gather(a, dim=0, index=index)
print(b)
# tensor([[9, 7, 5]])
# 1、将index中的各个元素的索引明确,获得具体坐标:
#    index = torch.tensor([[2, 1, 0]])中,
#    2的索引(坐标)为(0,0),1的索引(坐标)为(0,1),0的索引(坐标)为(0,2)
# 2、将具体坐标中对应的维度替换成index中的值:
#    2的索引(坐标)为(0,0),将第0个维度的索引替换后的新坐标为(2, 0),用2替换掉0
#    1的索引(坐标)为(0,1),将第0个维度的索引替换后的新坐标为(1, 1),用1替换掉0
#    0的索引(坐标)为(0,2),将第0个维度的索引替换后的新坐标为(0, 2),用0替换掉0
# 3、按照新的坐标取输入中的值:
# tensor([[ 3,  4,  5],
#         [ 6,  7,  8],
#         [ 9, 10, 11]]),坐标(2,0)值为9,坐标(1,1)值为7,坐标(0,2)值为5,得到最后的结果[9,7,5].

index = torch.tensor([[2, 1, 0]])
c = torch.gather(a, dim=1, index=index)
print(c)    # tensor([[5, 4, 3]])
# 1、获取具体坐标:(0,0),(0,1),(0,2)
# 2、第1维度替换坐标:(0,2),(0,1),(0,0)
# 3、找元素:[5,4,3]

# 二维的情况也一样
index = torch.tensor([[0, 2],
                      [1, 2]])
d = torch.gather(a, dim=1, index=index)
print(d)
# tensor([[3, 5],
#         [7, 8]])
# 1、获取具体坐标:(0,0),(0,1),(1,0),(1,1)
# 2、第1维度替换坐标:(0,0),(0,2),(1,1),(1,2)
# 3、找元素:[[3, 5],[7, 8]]

怕在代码里面太暗了看不清楚,在这里再贴一次:
以第一个为例:

创建张量
a = torch.arange文章来源地址https://www.toymoban.com/news/detail-483805.html

到了这里,关于torch.gather()使用解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 情绪:本来无一物,何处惹尘埃

    最近身边的朋友有提到最近因为各种事情,情绪不太稳定,心里开始出现不平稳的波动,情绪起伏有点大,在学习尝试调整。 我说,这其实非常好,因为你开始觉知了自己的波动,发现了自己的变化,这样无论你是否能够及时察觉并调整,都说明你的觉知力,对自己的合理关

    2024年04月28日
    浏览(32)
  • PyTorch中的torch.nn.Linear函数解析

    torch.nn是包含了构筑神经网络结构基本元素的包,在这个包中,可以找到任意的神经网络层。这些神经网络层都是nn.Module这个大类的子类。torch.nn.Linear就是神经网络中的线性层,可以实现形如y=Xweight^T+b的加和功能。 nn.Linear():用于设置网络中的全连接层,需要注意的是全连接

    2024年02月16日
    浏览(40)
  • 索尼慌了?微软687亿美元收购暴雪,为元宇宙做打算?

    1月18日, 微软同意以687亿美元收购视频游戏制造商动视暴雪,这成为微软公司有史以来最大的一笔交易, 这项交易也是微软历来的最大手笔收购,交易完成后,微软将成为按营收计算的全球第三大游戏公司,仅次于腾讯和索尼。   爱过、骂过,谁的青春没有动视暴雪? 稍有

    2024年02月04日
    浏览(42)
  • 可变形卷积(Deformable Conv)原理解析与torch代码实现

    1.1 普通卷积原理         传统的卷积操作是将特征图分成一个个与卷积核大小相同的部分,然后进行卷积操作,每部分在特征图上的位置都是 固定 的。 图1 普通卷积过程          图1所示为普通卷积在输入特征图上进行卷积计算的过程,卷积核大小为3*3,在输入特征

    2024年02月03日
    浏览(34)
  • ZYNQ使用AXI DMA(Scatter/Gather)模式进行PL与PS数据交互附源码(ps端移植freertos或者裸机)

    AXI DMA 操作需要先提供一个在内存中驻留的不变空间,用于存储需要进行的DMA操作。形容这“每一次操作”的东西叫做Buffer Descriptor,缩写叫BD,这些BD是连接成链表的形式的,因为BD会动态增加,而预先分配存储BD的空间是恒定的,因此BD被连成一个环(BD Ring),其实就是一个循

    2024年02月09日
    浏览(41)
  • 面试谎报了职级,本来是6,谎报成7,已经到HR这一步了,怎么了?

    面试时谎报职级,公司能查出来吗? 一位网友说,自己在业务面时谎报了职级,把6报成7,现在已经到hr这一步了,该怎么办?是继续编吗? 有人不明白,为什么要谎报职级?有什么好处? 网友回答,可以提高面试通过率,定级谈薪的时候可以要更多,晋升天花板也更高。

    2024年02月05日
    浏览(47)
  • Go1.21 速览:Go 终于打算进一步支持 WebAssembly 了。。。

    大家好,我是煎鱼。 之前写过一篇关于 Go WebAssembly 的相关文章 《一分钟搞明白!快速掌握 Go WebAssembly》,今天带来一则新消息。 想着 Go 过去了那么多年了,只在 Go1.11 支持了 WebAssembly1.0 的部分功能(js/syscall),还没有完整的支持 WebAssembly System Interface(WASI)。这可真的是

    2024年02月05日
    浏览(34)
  • mfc140.dll丢失的解决方法,解析mfc140.dll这个文件

    其实大部分人在使用计算机过程中,您可能会遇到mfc140.dll丢失的错误提示。这个错误会导致一些应用程序无法正常运行,那么要如何解决这个问题呢?今天小编就来给大家详细的解析mfc140.dll这个文件以及教大家 mfc140.dll丢失的解决方法。 目录 一. mfc140.dll是什么文件 二. mf

    2024年02月09日
    浏览(55)
  • 【JavaSE专栏48】Java集合类ArrayList解析,这个动态数组数据结构你了解吗?

    作者主页 :Designer 小郑 作者简介 :3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN学院、蓝桥云课认证讲师。 主打方向 :Vue、SpringBoot、微信小程序 本文讲解了 Java 中集合类 ArrayList 的语法、使用说明和应用场景,并给出了样例代码。

    2024年02月16日
    浏览(60)
  • 使用 GPT4 和 ChatGPT 开发应用:前言到第三章

    原文:Developing Apps with GPT-4 and ChatGPT 译者:飞龙 协议:CC BY-NC-SA 4.0 在发布仅仅五天后,ChatGPT 就吸引了惊人的一百万用户,这在科技行业及其他领域引起了轰动。作为一个副作用,OpenAI API 用于人工智能文本生成的接口突然曝光,尽管它已经可用了三年。ChatGPT 界面展示了这

    2024年01月20日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包