torch.nn gather用法

浅谈Pytorch中的torch.gather函数的含义 pytorch中的gather函数 pytorch比tensorflow更加编程友好,所以准备用pytorch试着做最近要做的一些实验。 立个flag开始学习pytorch,新开一个分类整理学习pytorch中的一些踩到的泥坑。 今天刚开始接触,读了一下documentation,写一个一开始每太搞懂的函数gather b = torch.Tensor([[1,2,3],[4,5,6]]) print b index_1 = torch.LongTensor([[0,1],[2,0]]) index_2 = torch.LongTensor([[0,1,1],[0,0,0]]) print 立即下载

官方解释
torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor
Gathers values along an axis specified by dim.

For a 3-D tensor the output is specified by:

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

Parameters
input (Tensor) – the source tensor

dim (int) – the axis along which to index

index (LongTensor) – the indices of elements to gather

sparse_grad (bool,optional) – If True, gradient w.r.t. input will be a sparse tensor.

out (Tensor, optional) – the destination tensor

Example:

t = torch.tensor([[1,2],[3,4]])
torch.gather(t, 1, torch.tensor([[0,0],[1,0]]))
output:
tensor([[ 1, 1],
[ 4, 3]])

理解为在dim的方向,取index指定的input对应的值出来,
如example中,dim=1,所以沿列的方向,分别取t第一行的[0, 0]位置,即t对应的第一行[1,1],
取第二行的[1,0]位置,对应t的[4,3]

可用在分类问题中,计算每个类别softmax概率后,直接用groudtruth类别取出对应类别计算的概率。

Pytorch中torch.gather函数 在学习 CS231n中的NetworkVisualization-PyTorch任务,讲解了使用torch.gather函数,gather函数是用来根据你输入的位置索引 index,来对张量位置的数据进行合并,然后再输出。 其中 gather有两种使用方式,一种为 torch.gather 另一种为 对象.gather。 首先介绍 对象.gather import torch torch.manual_seed(2) #为CPU设置种子用于生成随机数,以使得结果是确定的 def gather_example(): N, C = 4, 5 s = torch.randn(N, 立即下载

相关推荐

[LVGL] 刷新率优化

实验硬件:STM32F407ZGT6;2.4寸TFT-LCD模块(ILI9341驱动芯片、XTP2046触摸芯片)本文目标:lvgl的刷新率优化,解决拉帘子问题注意:本文在LVGL显示触摸代码移植完成的基础上进行,第一次使用lvgl可根据前文一步步移植,点击下方传送门查看相关文章传送门:STM32F4驱动ILI9341的TFT-LCD触摸屏(HAL库)(一)STM32F4驱动ILI9341的TFT-LCD触摸屏(HAL库)(二)[LVGL] 显示代码移植 基于STM32F4。

2301_77117901的博客 2783

torch.gather()详解

的,可乱序的。

oceancoco的博客 4294

AI时代敏捷开发新范式——意图驱动开发IDD

具体的功能代码、单元测试、集成测试用例,以及最终可运行的、支持PlantUML的Markdown转Word工具新版本。:业务方(如技术文档团队)反馈,现有的Markdown转Word工具在处理包含PlantUML代码块的文档时,无法正确生成图表,导致技术方案、架构图等关键信息丢失,严重影响了文档交付质量和团队效率。这不仅带来了交付周期显著缩短、资源效能倍增的可观收益,更深远的意义在于,它描绘了未来软件工业化、智能化的新图景:一个由精准意图驱动、AI自主执行、人类智慧引领的敏捷、高效、高质的新世界。

LiuJunjiang的专栏 549

【Pytorch小知识】torch.gather()函数的用法及在Focal Loss中的应用(详细易懂)

文章目录官方文档中torch.gather的用法torch.gather应用总结 官方文档中torch.gather的用法 torch.gather(input, dim, index, out=None) → Tensor Gathers values along an axis specified by dim. For a 3-D tensor the output is specified by: out[i][j][k] = input[index[i][j][k]

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 19万+

地平线天工开物AI开发平台实战:从量化训练到模型部署的完整指南

本文提供了地平线天工开物(OpenExplorer)AI开发平台的实战指南,详细解析了从量化训练到模型部署的完整流程。文章重点对比了量化感知训练(QAT)与训练后量化(PTQ)两条核心路径的优劣与适用场景,并分享了图像分类模型PTQ部署的实战经验与常见问题调试技巧,旨在帮助开发者高效地将AI模型部署到地平线AI芯片上。

weixin_29046035的博客 456

使用 MATLAB/Simulink 对基于同步发电机的双机系统进行建模

双机系统(Two-Machine System)是电力系统中用于研究动态稳定性和控制策略的一个典型模型。它由两台同步发电机通过输电网络相互连接,模拟实际电网中的互联操作。当发生短路故障时,系统的暂态稳定性会受到挑战,可能导致发电机失步或电压崩溃。本教程将带你使用 MATLAB/Simulink 对基于同步发电机的双机系统进行建模,并对其在短路故障条件下的暂态稳定性进行仿真和分析。

amy_mhd的博客 216

torch.gather()用法详解

官方示例 链接:https://pytorch.org/docs/stable/generated/torch.gather.html torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor # 沿由 dim 指定的轴收集input的值,其输出形状与index相同。 input (Tensor) – the source tensor dim (int) – the axis along which to inde

Huang_Fj的博客 3547

使用C#和ASP.NET创建登录页面

在Visual Studio中,右键单击项目,选择"添加",然后选择"新建项"。在对话框中选择"Web",然后选择"Web 窗体"。在Visual Studio中,右键单击项目,选择"添加",然后选择"新建项"。在Visual Studio中,选择"新建项目",然后选择"ASP.NET Web应用程序"。在上面的代码中,我们创建了一个简单的用户界面,包含一个用户名输入框、一个密码输入框和一个登录按钮。在上面的代码中,我们创建了一个简单的用户界面,包含一个用户名输入框、一个密码输入框和一个登录按钮。

TzData的博客 763

pytorch padding_【开源计划】图像配准中常用损失函数的pytorch实现

前言按照开源计划的预告,我们首先从基于深度学习的图像配准任务中常用的损失函数的代码实现开始。从我最开始的那一篇博客,即基于深度学习的医学图像配准综述,可以看出,目前基于无监督学习的图像非刚性配准模型成为了一个比较流行的研究方向。这是因为基于监督学习的方法过分依赖传统方法或者模拟变形的方法来提供监督信息,这样既吃力又不讨好。以我的探索经验来讲,以传统配准方法产生的变形场作为监督信息,对网络进行训练,...

weixin_39979516的博客 470

【第2章>第10节】深度学习DenseNet模型分析与matlab仿真

本文介绍了基于DenseNet深度学习模型的图像分类MATLAB实现方法。主要内容包括:1. DenseNet模型原理,详细解析了初始卷积层、密集块、过渡层等核心结构;2. 在MATLAB环境下完成DenseNet工具箱安装和测试样本准备;3. 实现图像预处理(统一缩放为224×224)、模型训练和测试的完整流程;4. 提供了混淆矩阵和准确率等测试结果分析。文章附带完整的MATLAB程序代码和操作视频教程,适合深度学习初学者快速掌握DenseNet模型的图像分类应用。通过实际测试,验证了该方案的有效性。

FPGA/MATLAB学习教程/源码/项目合作开发 330

激光打标轴坐标计算分析

‌:基于坐标差的平方和开方运算,勾股定理将几何关系转化为代数计算,从而实现了从坐标到距离的精确转换‌12。直角三角形的应用从上图可以看到A,B,P三个点连起来就是一个直角三角形了。用勾股定理计算距离 C#有相关的方法直接传参数就可以了。很方便。

StevenChen的博客 308

【pytorch】深度学习单卡训练升级到多卡训练(nn.DataParallel原理),以手写数据集分类为例

然后,nn.DataParallel会将输入数据划分为多个小批次,每个小批次分配到不同的GPU上,并使用torch.nn.parallel.scatter函数将输入数据复制到各个GPU上。接下来,nn.DataParallel会在每个GPU上分别计算模型的输出,并使用torch.nn.parallel.gather函数将各个GPU上的输出合并起来,得到最终的输出。最后,nn.DataParallel会将每个GPU上的输出合并起来,得到最终的输出,并计算损失函数和梯度。

种一棵树最好的时间是十年前,其次是现在 2181

【实战】小红书笔记爬虫终极指南:模拟滑动加载,抓取图文(2026最新版)

小红书作为国内最大的生活方式分享社区,每天产生海量的图文笔记。对于数据分析、市场调研、竞品分析等需求,爬取小红书公开笔记成为一项常见任务。然而,小红书的反爬机制日益升级——接口加密、动态Token、滑动验证、设备指纹……本文将深入剖析小红书Web端和App端的爬取技术,手把手教你用Python实现模拟滑动加载、自动抓取图文笔记的完整爬虫系统。全文包含大量代码、原理分析和排坑经验,适合有一定爬虫基础的读者进阶学习。目录前言一、小红书反爬机制概览二、环境准备2.1 Python环境2.2 浏览器驱动。

2201_76125261的博客 758

搭建深度学习网络时常用的一些pytorch函数:view(),softmax(),FloatTensor(),zero_(),scatter_(),gather(),sum(),clamp(),log

目录 torch.view() torch.nn.functional.softmax() torch.FloatTensor() torch.Tensor.zero_() torch.Tensor.scatter_() torch.gather() torch.sum() torch.clamp() torch.log() 参考pytorch说明文档:torch文档 torch.view() 返回一个数据相同但大小不同的tensor。 返回的tensor必须有与原te...

大烤翅的博客 1320

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

transformer代码理解

nn.ModuleList:https://blog.csdn.net/u014090429/article/details/112618607+代码写的挺好的。nn.conv1 https://blog.csdn.net/xu624735206/article/details/124961990 二三。Tensor.expand(): 具体的还需要进一步研究,没研究透彻。

hhhhhh356557的博客 160

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

pytorch基础(一)

pytorch基础

weixin_46569877的博客 2020

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【深度学习】多卡训练__单机多GPU方法详解(torch.nn.DataParallel、torch.distributed)

【深度学习】多卡训练__单机多GPU方法详解(torch.nn.DataParallel、torch.distributed)

Danger的博客 1万+

[已解决]安装apex报错AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘

如果之前有安装apex,记得删除。然后按照后面指令操作即可。

计算机视觉 5221

torch.distributed.all_gather

torch.distributed.all_gather

weixin_37958272的博客 4913

PyTorch之torch.gather

torch.gather gather(input, dim, index) # 根据index,在dim维度上选取数据,输出的 size 和 index 一样 沿给定轴dim,将输入索引张量index指定位置的值进行聚合。 举例 import torch b = torch.Tensor([[1, 2, 3], [4, 5, 6]]) print(b) index_1 = torch.Lo...

WeiXy的博客 464

gather torch_torch.nn.DataParallel中数据Gather的问题:维度不匹配

Pytorch中的多GPU非常好用,一句话就能搞定:self.model = torch.nn.DataParallel(self.model)。然而这两天我做零样本学习中遇到了一个问题始终无法解决,就是说单GPU可以跑,一旦使用多GPU,就会出现:RuntimeError: Gather got an input of invalid size: got [24, 10, 448,448], b...

weixin_39970064的博客 865

pytorch之torch基础学习

然后,它将输出按顺序“链接”到每个后续模块的输入,最后返回最后一个模块的输出。或者,也可以创建一个OrderedDict来作为模块的方法接受输入Sequential,forward()将其转发给它包含的第一个模块。然后,它将输出按顺序“链接”到每个后续模块的输入,最后返回最后一个模块的输出。赋值张量没有这样的效果。这意味着model.base的参数将使用默认的学习率1e-2, model.classifier的参数将使用1e-3学习率,所有参数将使用动量0.9。模块的输入是索引列表,输出是相应的词嵌入。

qq_41627642的博客 2132

pytorch gather_torch.nn.DataParallel中数据Gather的问题:维度不匹配

Pytorch中的多GPU非常好用,一句话就能搞定:self.model = torch.nn.DataParallel(self.model)。然而这两天我做零样本学习中遇到了一个问题始终无法解决,就是说单GPU可以跑,一旦使用多GPU,就会出现:RuntimeError: Gather got an input of invalid size: got [24, 10, 448,448], b...

weixin_39557583的博客 779

PyTorch gather() 与 index_select() 对比:5 个场景下的性能与用法选择

本文深入对比了PyTorch中gather()与index_select()函数在5个典型场景下的性能与用法差异。通过核心概念解析、性能测试和实战案例,揭示两者在索引维度支持、内存访问模式和梯度传播等方面的本质区别,帮助开发者在不同场景下做出最优选择。文章特别关注GPU加速下的效率对比,为深度学习模型开发提供实用指南。

weixin_34059951的博客 448

torch的一些函数

0. 长期更新,看到奇怪的弄懂了就写 ref: https://www.bilibili.com/video/BV1wQ4y1q7Bm/?spm_id_from=333.788 https://blog.csdn.net/m0_46384757/article/details/120509481 1.torch.gather https://www.jianshu.com/p/b7d8d3c26f2d 上面的文章告诉我举例子的时候不要用1m或m1 也不要用n*n这种,不然歧义很多 这里是按我的理解写一遍,为

m0_46861439的博客 921

torch常用函数备忘录(持续更新...)

torch常用函数备忘录

xmyzqs1212的博客 346
上一篇: log_softmax与softmax的区别
下一篇: Focal loss简易版理解与实现
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值