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

PyTorch_张量索引操作

简单行,列索引操作

import torch 
import numpy as np # 简单行列索引
def test01():data = torch.randint(0, 10, [4, 5])print(data)# 获得指定的某行元素print(data[0])# 获得指定某个列的元素print(data[:, 0])  # 逗号前面表示行,逗号后面表示列。冒号表示所有行或者所有列# 获得指定位置的某个元素print(data[1, 2])# 表示先获得前三行,再获得第三列的数据print(data[:3, 2])# 表示获得前三行的前两列print(data[:3, :2])# 列表索引
def test02():data = torch.randint(0, 10, [4, 5])print(data)# 如果索引的行列都是一个一维的列表,那么两个列表的长度必须相等# 表示获得 (0, 0), (2, 1), (3, 2) 三个位置的元素print(data[[0, 2, 3], [0, 1, 2]])# 表示获得 0, 2, 3 行的 0, 1, 2 列print(data[[[0], [2], [3]], [0, 1, 2]])if __name__ == "__main__":test02() 

布尔索引

import torch 
import numpy as np # 布尔索引
def test01():torch.manual_seed(0)data = torch.randint(0, 10, [4, 5])print(data)# 能够获得该张量中所有大于3的元素# 张量可以与数字做比较print(data > 3)print(data[data > 3])# 返回第2列元素大于6的行print(data[data[:, 1] > 6])# 返回第2行元素大于3的所有列print(data[:, data[1] > 3])# 多维索引
def test02():torch.manual_seed(0)data = torch.randint(0, 10, [3, 4, 5])print(data)# 选择第0行的所有元素print(data[0, :, :])# 按照第1哥维度选择第0元素, 是按行print(data[:, 0, :])# 按照第2个维度选择第0元素, 是按列print(data[:, :, 0])if __name__ == "__main__":test02() 
http://www.xdnf.cn/news/3976.html

相关文章:

  • Spring Cloud Gateway路由+断言+过滤
  • Flask + SQLite 简单案例
  • 位置权限关掉还能看到IP属地吗?全面解析定位与IP的关系
  • 腾讯云服务器技术全景解析:从基础架构到行业赋能​
  • React-router v7 第七章(导航)
  • 如何使用VSCode编写C、C++和Python程序
  • ES类迁移方法
  • 【翻译、转载】MCP 提示 (Prompts)
  • Kubernetes 安装 minikube
  • 计算机图形学编程(使用OpenGL和C++)(第2版) 01.环境搭建
  • Python的ArcPy基于Excel表格对大量遥感影像批量重分类
  • 第8章 Python 其他数据类型概述
  • LeetCode 1007. 行相等的最少多米诺旋转 题解
  • ZArchiver正版:高效文件管理,完美解压体验
  • 二、大模型原理:图文解析Transformer原理与代码
  • 第十章.XML
  • Android第三次面试总结之activity和线程池篇(补充)
  • C++基础算法:Dijkstra
  • Python 函数装饰器和闭包(变量作用域规则)
  • 基于k8s系统的API网关-kong网关
  • C++类与对象—下:夯实面向对象编程的阶梯
  • c++STL——set和map的使用
  • 5个情感丰富GPT-4o图像提示词(不是吉卜力风格)
  • transfomer网络构建
  • 平衡二叉搜索树模拟实现1-------AVL树(插入,删除,查找)
  • Fine Structure-Aware Sampling(AAAI 2024)论文笔记和启发
  • 交叉编译 opencv-4.10
  • [MATLAB]通过50个MATLAB程序理解信号与系统的核心概念
  • 学习黑客 TCP/IP
  • 【Springboot进阶】springboot+mybatis+jsqlparser实现数据权限控制