这里,我们介绍其中一种方法,即torch.scatter_()函数

import torch
label = torch.zeros(3, 6) #首先生成一个全零的多维数组
print("label:",label)
a = torch.ones(3,5)b = [[0,1,2],[0,1,3],[1,2,3]]
#这里需要解释的是,b的行数要小于等于label的行数,列数要小于等于a的列数
print(a)
label.scatter_(1,torch.LongTensor(b),a)
#参数解释:‘1’:需要赋值的维度;‘torch.LongTensor(b)’:需要赋值的索引;‘a’:要赋的值
print("new_label: ",label)

输出:

label:
tensor([[0., 0., 0., 0., 0., 0.],[0., 0., 0., 0., 0., 0.],[0., 0., 0., 0., 0., 0.]])
tensor([[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.]])
new_label:
tensor([[1., 1., 1., 0., 0., 0.],[1., 1., 0., 1., 0., 0.],[0., 1., 1., 1., 0., 0.]])

可以实现相同功能的函数还有:index_fill_(dim, index, val) ;index_put_(indices, value)

2.index_fill_(dim, index, val)
dim:要填充的维度
index:要填充的索引
val:要填充的值
与上面的用法类似

3.index_put_(indices, value)
indices:要填充的索引,与上面不同的是,这里直接使用的是要填充值的行和列
value:要填充的值

用法:

a = torch.zeros([5,5])
index = (torch.LongTensor([0,1]),torch.LongTensor([1,2])#生成索引
value = torch.Tensor([1,1]) #生成要填充的值
a.index_put_(index), value)

这就是上述三种方法,欢迎大家留言交流!

pytorch之tensor按索引赋值,三种方法!相关推荐

  1. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  2. mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  3. mysql 中添加索引的三种方法(一)

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  4. pytorch之torch.zeros_like,torch.ones_like和tensor按索引赋值

    1. torch.zeros_like 可以生成和括号内变量维度一致的全是0的内容.例如:输入维度为 1 × 8 × 3 × 5 1\times8\times3\times5 1×8×3×5的x,要生 ...

  5. pytorch网络冻结的三种方法区别:detach、requires_grad、with_no_grad

    pytorch网络冻结的三种方法区别:detach.requires_grad.with_no_grad 文章目录 pytorch网络冻结的三种方法区别:detach.requires_grad.wi ...

  6. ORACLE索引重建方法与索引的三种状态

    一.重建索引的前提 1.表上频繁发生update,delete操作: 2.表上发生了alter table ..move操作(move操作导致了rowid变化). 二.重建索引的标准 1.索引重建是否 ...

  7. 【创建索引的三种方式】

    创建索引的三种方式 第一种方式:在执行 CREATE 第二种方式:使用 ALTER TABLE 命令去增加索 ALTER TABLE table_name ADD INDEX index_name ( ...

  8. mysql如何防止插入重复数据_防止MySQL重复插入数据的三种方法

    新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...

  9. 独家 | 将时间信息编码用于机器学习模型的三种编码时间信息作为特征的三种方法...

    作者:Eryk Lewinson 翻译:汪桉旭 校对:zrx本文约4400字,建议阅读5分钟 本文研究了三种使用日期相关的信息如何创造有意义特征的方法. 标签:时间帧,机器学习,Python,技术演示 ...

最新文章

  1. 关于OUTLOOK 2007邮件无法打印的问题解决方法
  2. Uber无人车在旧金山不仅仅是闯红灯,更大的问题是违法上路
  3. Samba的配置命令
  4. 关于ZendOptimizer和wamp的phpmyadmin冲突问题
  5. VC++环境添加一般类的方法、使用MFC演示基本C++成员变量和成员函数
  6. JIT编译器杂谈#1:JIT编译器的血缘(一)
  7. Chapter7-5_Multilingual BERT
  8. 彻底搞懂 Java 中的注解 Annotation
  9. NOIP2017普及组-1. 成绩
  10. Word中调整编号和文字的间距
  11. ROS1 noetic + depthai_ros教程
  12. 如何把书上的字弄到电脑
  13. 公务员考试——申论2
  14. 有一种加班,叫别人还没走!
  15. 微信App iOS客户端不同阶段的发展策略
  16. 外贸七日通 第六日 合作篇 与货代打交道
  17. 51单片机LCD显示温度与串口接受温度
  18. Delphi 2010的好消息
  19. NTP DDoS反射放大攻击实验
  20. FFmpeg封装格式处理:视音频复用器(muxer)不同格式中数据有无bsf的差异-- Filter bitstream_filter实现格式转换:h264_mp4toannexb

热门文章

  1. MyBatis与Hibernate比较
  2. 2、eclipse中使用Maven
  3. 分布式存储系统设计(2)—— 数据分片
  4. linux修改网卡的mac地址
  5. 在ASP.NET MVC 4中使用Kendo UI Grid
  6. SQL注入1-5_cookie基于base64的注入
  7. 搜索引擎和知识图谱那些事 (上).基础篇
  8. Swift之深入解析“对象”的底层原理
  9. 96. Unique Binary Search Trees 不同的二叉搜索树
  10. 给定一个数组,求如果排序之后,相邻两数的最大差值,要求时间复杂度O(N),且要求不能用非基于比较的排序。