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基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
python3中zip()函数使用详解
Jun 29 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
python基于property()函数定义属性
Jan 22 Python
python随机生成大小写字母数字混合密码(仅20行代码)
Feb 01 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
Jul 21 Python
在Python中字典按值排序的实现方法
Nov 12 Python
python中K-means算法基础知识点
Jan 25 Python
matplotlib之属性组合包(cycler)的使用
Feb 24 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根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
javascript 对象的定义方法
2007/01/10 Javascript
一个符号插入器 中用到的js代码
2007/09/04 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
详解NODEJS的http实现
2018/01/04 NodeJs
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
图解Python变量与赋值
2018/04/03 Python
python保存数据到本地文件的方法
2018/06/23 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
售后专员岗位职责
2013/12/08 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
买房子个人收入证明
2014/10/12 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
旷课检讨书
2015/01/26 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书