当前位置: 首页 > news >正文

PyTorch基本使用-张量的索引操作

在操作张量时,经常要去获取某些元素进行处理或者修改操作,在这里需要了解torch中的索引操作。

准备数据:

data = torch.randint(0,10,[4,5])
print('data--->',data)

输出结果:

data---> tensor([[3, 9, 4, 0, 5],[7, 5, 9, 9, 7],[5, 9, 8, 9, 7],[9, 2, 6, 7, 7]])
  • 简单行、列索引

    print('第一行:',data[0])
    print('第一列:',data[:,0])
    

    输出结果:

    第一行: tensor([3, 9, 4, 0, 5])
    第一列: tensor([3, 7, 5, 9])
    
  • 列表索引

    print('-----------------返回(0,1)、(1,2) 2个位置的元素------------------')
    print(data[[0,1],[1,2]])
    print('-----------------返回0、1 行的1、2 列共4个元素------------------')
    print(data[[[0],[1]],[1,2]])
    

    输出结果:

    -----------------返回(0,1)、(1,2) 2个位置的元素------------------
    tensor([9, 9])
    -----------------返回0、1 行的1、2 列共4个元素------------------
    tensor([[9, 4],[5, 9]])
    
  • 范围索引

    print('-----------------前3行、前2列的数据------------------')
    print(data[:3,:2])
    print('-----------------第2行到最后的前2列数据------------------')
    print(data[2:,:2])
    

    输出结果:

    -----------------前3行、前2列的数据------------------
    tensor([[3, 9],[7, 5],[5, 9]])
    -----------------第2行到最后的前2列数据------------------
    tensor([[5, 9],[9, 2]])
    
  • 布尔索引

    print('-----------------第三列大于5的行数据------------------')
    print(data[data[:,2] > 5])
    print('-----------------第二行大于5的行数据------------------')
    print(data[:,data[1] > 5])
    

    输出结果:

    -----------------第三列大于5的行数据------------------
    tensor([[7, 5, 9, 9, 7],[5, 9, 8, 9, 7],[9, 2, 6, 7, 7]])
    -----------------第二行大于5的行数据------------------
    tensor([[3, 4, 0, 5],[7, 9, 9, 7],[5, 8, 9, 7],[9, 6, 7, 7]])
    
  • 多维索引

    data = torch.randint(0,10,[3,4,5])
    print(data)
    # 获取0轴上的第一个数据
    print(data[0,:,:])
    # 获取1轴上的第一个数据
    print(data[:,0,:])
    # 获取2轴上的第一个数据
    print(data[:,:,0])
    

    输出结果:

    tensor([[[8, 3, 6, 1, 5],[5, 0, 4, 3, 8],[8, 3, 3, 5, 0],[6, 4, 0, 8, 4]],[[7, 2, 3, 8, 5],[6, 2, 9, 5, 0],[4, 2, 7, 1, 1],[5, 4, 4, 1, 1]],[[2, 4, 7, 2, 5],[6, 1, 4, 5, 6],[9, 2, 3, 1, 0],[2, 1, 2, 7, 9]]])
    tensor([[8, 3, 6, 1, 5],[5, 0, 4, 3, 8],[8, 3, 3, 5, 0],[6, 4, 0, 8, 4]])
    tensor([[8, 3, 6, 1, 5],[7, 2, 3, 8, 5],[2, 4, 7, 2, 5]])
    tensor([[8, 5, 8, 6],[7, 6, 4, 5],[2, 6, 9, 2]])
    
http://www.lryc.cn/news/502601.html

相关文章:

  • OpenCV实验:图片加水印
  • sql server log文件
  • Elasticsearch 集群部署
  • 微信小程序5-图片实现点击动作和动态加载同类数据
  • 策略梯度定理公式的详细推导
  • 力扣-图论-10【算法学习day.60】
  • 《Python WEB安全 库全解析》
  • Linux yum-config-manager命令异常
  • ios 开发配置蓝牙
  • geoserver(1) 发布sql 图层 支持自定义参数
  • Linux:network:添加ip的时候自动添加一个本地路由
  • go 集成nacos注册中心、配置中心
  • ssd202d-badblock-坏块检测
  • MySQL-练习-数据介绍
  • React框架:解锁现代化Web开发的新维度
  • 电阻功率,限流,等效电阻
  • Qt | 开发工具(top1)
  • Node.js express
  • ios h5中在fixed元素中的input被focus时,键盘遮挡input (van-popup、van-feild)
  • springboot整合lua脚本在Redis实现商品库存扣减
  • MySQL ON DUPLICATE KEY UPDATE影响行数
  • uniapp小程序 slot中无法传递外部参数的解决方案
  • umi实现动态获取菜单权限
  • Pytest-Bdd-Playwright 系列教程(14):Docstring 参数
  • 交互开发---测量工具(适用VTK或OpenGL开发的应用程序)
  • Qt 一个简单的QChart 绘图
  • 【Java笔记】LinkedList 底层结构
  • el-table组件树形数据修改展开箭头
  • 太速科技-FMC154-基于FMC 八路SFP+万兆光纤子卡
  • 记:排查设备web时慢时快问题,速度提升100%