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 08 Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
Jan 07 Python
Django使用httpresponse返回用户头像实例代码
Jan 26 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
深入了解Django中间件及其方法
Jul 26 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
python中pow函数用法及功能说明
Dec 04 Python
python如何发送带有附件、正文为HTML的邮件
Feb 27 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 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
雄兵连:第三季确定会出,不过时间未定,鹤熙是第三季的主角!
2020/03/13 国漫
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
javascript学习网址备忘
2007/05/29 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
简单的编程0基础下Python入门指引
2015/04/01 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
销售员求职个人的自我评价
2014/02/19 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
感谢信格式范文
2015/01/22 职场文书
大学生实习推荐信
2015/03/27 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书