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 os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 Python
Python中规范定义命名空间的一些建议
Jun 04 Python
python操作mysql数据库
Mar 05 Python
Python实现对字符串的加密解密方法示例
Apr 29 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
python实现简单flappy bird
Dec 24 Python
PyCharm 设置SciView工具窗口的方法
Jan 15 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
Jan 14 Python
python 制作python包,封装成可用模块教程
Jul 13 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
Python中的特殊方法以及应用详解
Sep 20 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
PHP5中MVC结构学习
2006/10/09 PHP
PHP编码规范-php coding standard
2007/03/16 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
jQuery简单实现banner图片切换
2014/01/02 Javascript
javascript的push使用指南
2014/12/05 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
推荐一个基于Node.js的表单验证库
2019/02/15 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
浅谈django orm 优化
2018/08/18 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
当当网软件测试笔试题
2015/11/24 面试题
部队党性分析材料
2014/02/16 职场文书
技能竞赛活动方案
2014/02/21 职场文书
高校教师自荐信范文
2014/03/13 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
出生证明格式
2015/06/15 职场文书
放飞理想主题班会
2015/08/14 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python