Pytorch中index_select() 函数的实现理解


Posted in Python onNovember 19, 2019

函数形式:

index_select(
 dim,
 index
)

参数:

  • dim:表示从第几维挑选数据,类型为int值;
  • index:表示从第一个参数维度中的哪个位置挑选数据,类型为torch.Tensor类的实例;

刚开始学习pytorch,遇到了index_select(),一开始不太明白几个参数的意思,后来查了一下资料,算是明白了一点。

a = torch.linspace(1, 12, steps=12).view(3, 4)
print(a)
b = torch.index_select(a, 0, torch.tensor([0, 2]))
print(b)
print(a.index_select(0, torch.tensor([0, 2])))
c = torch.index_select(a, 1, torch.tensor([1, 3]))
print(c)

先定义了一个tensor,这里用到了linspace和view方法。

第一个参数是索引的对象,第二个参数0表示按行索引,1表示按列进行索引,第三个参数是一个tensor,就是索引的序号,比如b里面tensor[0, 2]表示第0行和第2行,c里面tensor[1, 3]表示第1列和第3列。

输出结果如下:

tensor([[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.]])
tensor([[ 1.,  2.,  3.,  4.],
        [ 9., 10., 11., 12.]])
tensor([[ 1.,  2.,  3.,  4.],
        [ 9., 10., 11., 12.]])
tensor([[ 2.,  4.],
        [ 6.,  8.],
        [10., 12.]])

功能:从张量的某个维度的指定位置选取数据。

代码实例:

t = torch.arange(24).reshape(2, 3, 4) # 初始化一个tensor,从0到23,形状为(2,3,4)
print("t--->", t)
 
index = torch.tensor([1, 2]) # 要选取数据的位置
print("index--->", index)
 
data1 = t.index_select(1, index) # 第一个参数:从第1维挑选, 第二个参数:从该维中挑选的位置
print("data1--->", data1)
 
data2 = t.index_select(2, index) # 第一个参数:从第2维挑选, 第二个参数:从该维中挑选的位置
print("data2--->", data2)

运行结果: 

t---> tensor([[[ 0,  1,  2,  3],
               [ 4,  5,  6,  7],
               [ 8,  9, 10, 11]],
 
              [[12, 13, 14, 15],
               [16, 17, 18, 19],
               [20, 21, 22, 23]]])
 
index---> tensor([1, 2])
 
data1---> tensor([[[ 4,  5,  6,  7],
                   [ 8,  9, 10, 11]],
 
                  [[16, 17, 18, 19],
                   [20, 21, 22, 23]]])
 
data2---> tensor([[[ 1,  2],
                   [ 5,  6],
                   [ 9, 10]],
 
                  [[13, 14],
                   [17, 18],
                   [21, 22]]])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中Class类用法实例分析
Nov 12 Python
在MAC上搭建python数据分析开发环境
Jan 26 Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
Python实现将json文件中向量写入Excel的方法
Mar 26 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
Django框架表单操作实例分析
Nov 04 Python
python批量修改文件名的示例
Sep 27 Python
记录一下scrapy中settings的一些配置小结
Sep 28 Python
Python-openpyxl表格读取写入的案例详解
Nov 02 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 18 Python
python实现的人脸识别打卡系统
May 08 Python
wxPython多个窗口的基本结构
Nov 19 #Python
windows中安装Python3.8.0的实现方法
Nov 19 #Python
让你的Python代码实现类型提示功能
Nov 19 #Python
wxPython实现分隔窗口
Nov 19 #Python
浅谈Python type的使用
Nov 19 #Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 #Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 #Python
You might like
php读取javascript设置的cookies的代码
2010/04/12 PHP
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
PHP学习笔记之session
2018/05/06 PHP
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
Python作用域用法实例详解
2016/03/15 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
毕业生找工作推荐信
2013/11/21 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
大学生见习报告总结
2014/11/04 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
2014年计生工作总结
2014/11/21 职场文书
龙猫观后感
2015/06/09 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python