欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > PyTorch_张量索引操作

PyTorch_张量索引操作

2025/5/6 21:33:34 来源:https://blog.csdn.net/BSCHN123/article/details/147701047  浏览:    关键词: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() 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词