直观理解torch.gather函数(带图)

news2024/11/30 14:29:40

直观理解torch.gather函数

1. gather的作用

因为深度学习里面,像分类或者分割,有时候去进行loss计算或准确度计算的时候,需要挑选某个维度特定的值,所以有了这么个函数。注意不要高估这个函数的能力,这个函数只是在指定维度上挑出某个指定的值。

2. gather的解释

官方解释: 链接: https://pytorch.org/docs/stable/generated/torch.gather.html

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矩阵中,获取一个与index矩阵大小相同的output矩阵。规则是,在获取output值时,按照设定的dim和index对应位置的值,从input矩阵中取值出来。

第二种理解方式(程序员版):把index矩阵的元素对应的下标取出来,用这个取出来的元素的值替换下标中指定的维度(dim)的值

第三种方式(画图):

在这里插入图片描述
橙色矩阵是input矩阵,绿色矩阵是index矩阵,也是output矩阵,因为output矩阵和index矩阵是一样大的。红色矩阵是index矩阵和output矩阵中对应的第一个元素,红色这个元素的值是在三个维度中,指定一个维度,然后在这个维度上去取,取index矩阵这个位置对应的那个值为下标的input矩阵中的值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/527764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据技术之Sqoop

第1章 Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中&…

破案小说中的《人月神话》和女装

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> 在破案小说《谁是凶手》中,《人月神话》、《程序员修炼之道》以及女装作为素材出现了。 成功学(鸡汤学)书籍《用所有的存在与世界相会》…

如何制定一套有效的期货交易系统策略?

期货交易是一项全球性的金融交易,对于投资者来说,制定有效的期货交易系统策略是至关重要的。在制定期货交易策略时,需要考虑市场趋势、资产种类、交易成本、仓位控制等多个方面。 很多刚进入期货市场的朋友,甚至很多做了很久期货…

JS代码优化——逻辑判断

文章目录 JavaScript 语法篇嵌套层级优化多条件分支的优化处理使用数组新特性简化逻辑判断**多条件判断****判断数组中是否所有项都满足某条件****判断数组中是否有某一项满足条件** **函数默认值**使用默认参数使用解构与默认参数复杂数据解构 策略模式优化分支逻辑处理 JavaS…

Mars3d实现加载gif动图

官网有相关示例参考:功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 方式1: // [终点]绘制台风当前位置gif点 const gifGraphic new mars3d.graphic.DivGraphic({ position: [endItem.lon, e…

【人力资源管理】第3集 免费开源ERP: Odoo 16 hr_holidays管理员工休假和缺勤 构建一体化企业人力资源管理

文章目录 前言一、管理员工休假二、批准或者拒绝休假申请三 、简单报表工具四 、使用功能1.管理休假申请2.报告 总结 前言 管理员工休假和缺勤。 一、管理员工休假 跟踪所有员工的假期 跟踪每位员工的休假天数。员工输入请求,经理对请求进行审批和验证&#xff0…

MYSQL-数据库管理.3(用户管理及用户权限)

一、关系型数据库 数据结构 二维表格 库 -> 表 -> 列(字段):用来描述对象的一个属性 行(记录):用来描述一个对象的信息 二、非关系型数…

能成事的表达笔记

为什么需要好的沟通? 一.让自己舒服 二.让别人乐意 愿意听听得懂听完愿意配合你 共赢 沟通是思维和视角的改变 向上沟通 (领导,客户) 是最高效的职场成长路径 痛点: 出于恐惧而挖掘不到真实的需求 一味听从权威…

spring项目里的大事务优化

编程型事务更加灵活 声明式事务只需要加在方法头加Transactional注解即可开启事务,但是还是不太灵活,意味着整个方法所进行对数据库操作都要加进事务,当然一次查询也要进入事务,这并不是我们想要的,我们在update、ins…

电容笔和触控笔哪个好用?2023平价好用的电容笔测评

其实,许多产品各有特色,有的注重外观,而有的注重功能。ipad上的那支笔也是如此的。所以,购买电容笔的时候,必须对电容笔有充分的了解。在选购前,必须了解各种类型的电容笔,以决定选购何种电容笔…

ASEMI代理LTC3309AEV#TRMPBF原装ADI车规级LTC3309AEV#TRMPBF

编辑:ll ASEMI代理LTC3309AEV#TRMPBF原装ADI车规级LTC3309AEV#TRMPBF 型号:LTC3309AEV#TRMPBF 品牌:ADI /亚德诺 封装:LQFN-12 批号:2023 安装类型:表面贴装型 引脚数量:12 工作温度:-4…

数字演播厅全新上线,让您的业务展示事半功倍

向客户汇报时还在手忙脚乱找应用? 给领导汇报时还在尴尬的等待应用漫长的加载? 还在因为没有合适的控制设备而施展不开拳脚? 为帮助广大易知微用户提升演示汇报效果,易知微平台上线了「数字演播厅」功能,该功能专注…

22. Unity - 3D游戏开发小计01 --- 修复动画BUG、更改环境光照、导航网格、相机跟随、场景渲染后期处理

1. 导入玩家角色模型 素材来自于unity官网:3D Beginner:Tutorial Resources 在3D游戏开发中,三维物体模型一般会有团队内的其它成员提供,包括模型本身和动画文件等。我们需要做的是将这些素材进行组合并使用代码进行控制。 若对模型添加动画文件后,当运行时可能会发现模型…

OPPO舍弃芯片研发,让人想起欧洲芯片,国产芯片会从此溃败么?

OPPO一瞬间舍弃芯片研发,对国产芯片造成的影响无疑是非常大的,甚至可能导致国产芯片的研发由此溃败,这可以从当年欧洲的芯片业务衰败作为前车之鉴。 GSM称霸2G时代,也让欧洲手机和欧洲芯片企业取得优势,当年爱立信手机…

小红书文案怎么写才能吸引用户,品牌写文技巧

在小红书平台,文案是笔记非常重要的一环,那么文案怎么写才能吸引人呢?下面就让我们来聊一聊小红书文案写作的一些技巧,希望可以对大家有所帮助。 一、 标题 一个好的标题是非常重要的,这相当于是一篇笔记的门面,决定着…

什么是 Java 中的 AOP(面向切面编程)?如何使用它来实现横切关注点?

AOP(Aspect-oriented programming,面向切面编程),是一种编程思想和技术,旨在将横切关注点和主业务逻辑分离,使得系统更容易扩展和维护。在 Java 中,AOP 主要通过代理模式和动态字节码生成实现。…

不限次数的chatGPT

不说废话直接看方法: 不用翻墙,开干 第一步:打开电脑的Edge浏览器,就是windows系统的默认浏览器,搜索wetab,点击如下的官方链接就会进入安装插件界面 第二步:点击chat AI就会弹出这个弹窗&…

如何将 Docker 镜像大小从 1.43 GB 减少到 22.4 MB

如果你正在从事 Web 开发,那么你可能已经了解过容器化的概念以及它的优点。 但是,当使用 Docker 时,镜像大小是一个很大的问题。仅仅是从 create-react-app 中得到的样板项目就通常超过 1.43 GB。 今天我们将会容器化一个 ReactJS 应用程序…

九宫格游戏-第14届蓝桥杯省赛Scratch初级组真题第5题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第134讲。 九宫格游戏,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程初级组真题第5题&#…

渗透无回显,放弃 or 看这篇文章

渗透无回显,放弃 or 看这篇文章 1.DNSlog工具2.DNSlog回显原理3.无回显的XXE 1.DNSlog工具 如果有自己的服务器和域名,可以自建一个这样的DNSlog平台用于进行渗透数据外带,或者直接使用BugScan团队开源的工具搭建即可: Github:D…