首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >了解PyTorch中index_put的行为

了解PyTorch中index_put的行为
EN

Stack Overflow用户
提问于 2020-09-20 10:08:38
回答 1查看 1.1K关注 0票数 2

我正在尝试理解index_put在PyTorch中的行为,但是文档对我来说不是很清楚。

给定的

代码语言:javascript
运行
AI代码解释
复制
a = torch.zeros(2, 3)
a.index_put([torch.tensor(1, 0), torch.tensor([1, 1])], torch.tensor(1.))

它返回

代码语言:javascript
运行
AI代码解释
复制
tensor([[1., 1., 0.], 
       [0., 0., 0.])

在给定的时候

代码语言:javascript
运行
AI代码解释
复制
a = torch.zeros(2, 3)
a.index_put([torch.tensor(0, 0), torch.tensor([1, 1])], torch.tensor(1.))

它返回

代码语言:javascript
运行
AI代码解释
复制
tensor([[0., 1., 0.], 
       [0., 0., 0.])

我想知道index_put到底有什么规则?如果我想将三个值赋给a,那么它将返回

代码语言:javascript
运行
AI代码解释
复制
tensor([0., 1., 1.,],
       [0., 1., 0.])

如有任何帮助,我们不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-20 10:26:02

我在这里复制了你的例子,插入了参数名,固定了括号和正确的输出(你的被交换了):

代码语言:javascript
运行
AI代码解释
复制
a.index_put(indices=[torch.tensor([1, 0]), torch.tensor([1, 1])], values=torch.tensor(1.))

tensor([[0., 1., 0.],
        [0., 1., 0.]])

a.index_put(indices=[torch.tensor([0, 0]), torch.tensor([0, 1])], values = torch.tensor(1.))

tensor([[1., 1., 0.],
        [0., 0., 0.]]

此方法所做的是将值插入到由indices指示的原始a张量中的位置。索引是插入的x坐标和插入的y坐标的列表。值可以是单个值,也可以是一维张量。

要获得所需的输出,请使用以下命令:

代码语言:javascript
运行
AI代码解释
复制
a.index_put(indices=[torch.tensor([0,0,1]), torch.tensor([1, 2, 1])], values=torch.tensor(1.))

tensor([[0., 1., 1.],
        [0., 1., 0.]])

此外,您可以在values参数中传递多个值,以将它们插入到指定的位置:

代码语言:javascript
运行
AI代码解释
复制
a.index_put(indices=[torch.tensor([0,0,1]), torch.tensor([1, 2, 1])], values=torch.tensor([1., 2., 3.]))

tensor([[0., 1., 2.],
        [0., 3., 0.]])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63977774

复制
相关文章
行为变更 | 了解 Android 12 中的 intent-filter
Android 12 一个重要的变更是提高应用和系统的安全性,这个变更影响了所有目标版本为 Android 12 的应用。
Android 开发者
2022/03/09
1.8K0
了解聚众赌博行为
聚众赌博是指用户在使用QQ产品时,存在以下行为,包括但不限于:发送、组织、传播、教唆他人、聚众赌博、出售赌博器具、传授赌博(千术)技巧、方式、方法等内容;
腾讯举报中心
2020/02/25
9470
batchnorm pytorch_Pytorch中的BatchNorm
本文主要介绍在pytorch中的Batch Normalization的使用以及在其中容易出现的各种小问题,本来此文应该归属于[1]中的,但是考虑到此文的篇幅可能会比较大,因此独立成篇,希望能够帮助到各位读者。如有谬误,请联系指出,如需转载,请注明出处,谢谢。
全栈程序员站长
2022/09/05
7030
JVM中的线程行为
线程化是指同时执行程序过程以提高应用程序性能的实践。虽然直接在业务应用程序中使用线程并不常见,但它们一直在Java框架中使用。
银河1号
2019/04/12
1.1K0
JVM中的线程行为
Pytorch中的Sequential
春恋慕Pytorch中nn.Sequential是nn.Module的一个子类,Sequential已经实现了forward函数,因此不需要编写forward函数,Sequential会自动进行前向传播,这要求神经网络前一个模块的输出大小和后一个模块的输入大小是一致的,使用Sequential容器封装神经网络,使得代码更简洁,更结构化,不过这也使得神经网络灵活性变差,比如无法定义自己的forward等。
月梦@剑心
2022/09/14
5920
Pytorch中的Sequential
从头开始了解PyTorch的简单实现
本教程展示了如何从了解张量开始到使用 PyTorch 训练简单的神经网络,是非常基础的 PyTorch 入门资源。PyTorch 建立在 Python 和 Torch 库之上,并提供了一种类似 Numpy 的抽象方法来表征张量(或多维数组),它还能利用 GPU 来提升性能。本教程的代码并不完整,详情请查看原 Jupyter Notebook 文档。 PyTorch 使入门深度学习变得简单,即使你这方面的背景知识不太充足。至少,知道多层神经网络模型可视为由权重连接的节点图就是有帮助的,你可以基于前向和反向传
崔庆才
2018/06/25
2.2K0
pytorch: PyTorch中 使用 Tensorboard
因为工作需要,改用pytorch。但如何将训练过程可视化成了大问题。听说pytorch代码中可以插入tensorboard代码,第一反应是居然可以这么玩。。
JNingWei
2018/09/27
3.4K0
pytorch: PyTorch中 使用 Tensorboard
Spring中事务的传播行为
当我们在spring中调用Service中一个方法时,如果我们默认配置了对Service的事务管理,那么此时的Service将运行在一个由spring管理的事务环境中。由于在我们日常的开发时,通常会在一个Service接口中调用其它Service中的接口以此来完成一个完整的事务操作,这时就会发生服务接口嵌套调用的情况,spring通过事务传播行为控制当前事务如何传播到被嵌套调用的目标服务接口方法中的。下面我们想想了解一下在spring中都有哪些不同的事务传播行为,以前它们的区别。
吉林乌拉
2019/09/17
1.2K0
Spring中事务的传播行为
教程 | 从头开始了解PyTorch的简单实现
选自GitHub 机器之心编译 参与:路 本教程展示了如何从了解张量开始到使用 PyTorch 训练简单的神经网络,是非常基础的 PyTorch 入门资源。PyTorch 建立在 Python 和 Torch 库之上,并提供了一种类似 Numpy 的抽象方法来表征张量(或多维数组),它还能利用 GPU 来提升性能。本教程的代码并不完整,详情请查看原 Jupyter Notebook 文档。 PyTorch 使入门深度学习变得简单,即使你这方面的背景知识不太充足。至少,知道多层神经网络模型可视为由权重连接的节
机器之心
2018/05/08
2.9K0
教程 | 从头开始了解PyTorch的简单实现
PyTorch 中Datasets And DataLoaders的使用 | PyTorch系列(十二)
在这篇文章中,我们将看到如何使用Dataset和DataLoader 的PyTorch类。
AI算法与图像处理
2020/05/25
1.4K0
PyTorch 中Datasets And DataLoaders的使用   | PyTorch系列(十二)
PyTorch中CNN的Forward方法 | PyTorch系列(十七)
我们通过扩展nn.Module PyTorch基类来创建网络,然后在类构造函数中将网络层定义为类属性。现在,我们需要实现网络的 forward() 方法,最后,我们将准备训练我们的模型。
AI算法与图像处理
2020/06/06
4.2K0
pytorch中的loss函数_pytorch loss不下降
2)mse只计算两个差异,做回归用的,数据相同,bceloss比mseloss大。
全栈程序员站长
2022/10/02
6380
PyTorch中Linear层的原理 | PyTorch系列(十六)
原标题:PyTorch Callable Neural Networks - Deep earning In Python
AI算法与图像处理
2020/06/03
10.3K0
Pytorch | Pytorch中自带的数据计算包——Tensor
今天是Pytorch专题的第二篇,我们继续来了解一下Pytorch中Tensor的用法。
TechFlow-承志
2020/07/02
1K0
PyTorch中view的用法
把原先tensor中的数据按照行优先的顺序排成一个一维的数据(这里应该是因为要求地址是连续存储的),然后按照参数组合成其他维度的tensor。比如说是不管你原先的数据是[[[1,2,3],[4,5,6]]]还是[1,2,3,4,5,6],因为它们排成一维向量都是6个元素,所以只要view后面的参数一致,得到的结果都是一样的。比如,
狼啸风云
2020/04/01
1.1K0
PyTorch中的梯度累积
我们在训练神经网络的时候,超参数batch_size的大小会对模型最终效果产生很大的影响,通常的经验是,batch_size越小效果越差;batch_size越大模型越稳定。理想很丰满,现实很骨感,很多时候不是你想增大batch_size就能增大的,受限于显存大小等因素,我们的batch_size往往只能设置为2或4,否则就会出现"CUDA OUT OF MEMORY"(OOM)报错。如何在有限的计算资源下,采用更大的batch_size进行训练,或者达到和大batch_size一样的效果?这就是梯度累加(Gradient Accumulation)技术了
mathor
2021/07/28
1.5K0
Pytorch中的.backward()方法
PyTorch的主要功能和特点之一就是backword函数,我知道一些基本的导数:
deephub
2021/04/16
2.7K0
VIT Vision Transformer | 先从PyTorch代码了解
【前言】:看代码的时候,也许会不理解VIT中各种组件的含义,但是这个文章的目的是了解其实现。在之后看论文的时候,可以做到心中有数,而不是一片茫然。
机器学习炼丹术
2021/03/04
2.2K0
PyTorch : 了解Tensor(张量)及其创建方法
Variable是Pytorch的0.4.0版本之前的一个重要的数据结构,但是从0.4.0开始,它已经并入了Tensor中了。
timerring
2022/11/12
1.1K0
PyTorch : 了解Tensor(张量)及其创建方法
Pytorch中的优化器
今天来探索Pytorch中的优化器,使用优化器来优化参数是反向传播过程中必不可少的一个环节,在得到损失函数对每个参数的梯度之后,通过优化器更新所有参数,来达到反向传播的目的。春恋慕
月梦@剑心
2022/09/14
4580

相似问题

了解PyTorch预测

14

了解PyTorch中的反向传播

32

了解pytorch自动评分

238

了解Pytorch网格示例

29

了解PyTorch CNN频道

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文