pytorch索引和切片

目录

  • 1. 按索引方式取数据
  • 2. 以python切片方式取数据
  • 3. 指定index取数据
  • 4. ...代表除其前后指定维度外的所有维度
  • 5. masked_select() 使用掩码选择元素
  • 6. take 矩阵打平后选取

1. 按索引方式取数据

pytorch索引和切片_第1张图片
a[0,0,2,4] 其中0,0,2,4是索引从0开始

2. 以python切片方式取数据

pytorch索引和切片_第2张图片
b=4 索引是0, 1, 2 ,3 4张图片
c=3 索引是0,1,2
[:2] 0, 1不包括2
[1:] 1,2
[-1] 最后一个就是2

pytorch索引和切片_第3张图片
0:28:2-》0到28不包括28,每隔两个点采样一次

切片索引的几种方式总结

  • : 全部
  • n: 从n开始到末尾
  • :n 从0开始到n-1
  • s:e 从s开始到e-1
  • startstep 从start开始到end-1,每隔step采样一次

3. 指定index取数据

index_select(dim, index)
index是torch.tensor([1,2])格式
pytorch索引和切片_第4张图片

4. …代表除其前后指定维度外的所有维度

个人理解类似省略号,代替后边所有维度
pytorch索引和切片_第5张图片

5. masked_select() 使用掩码选择元素

pytorch索引和切片_第6张图片

6. take 矩阵打平后选取

pytorch索引和切片_第7张图片
与index_select的区别是index_select第一个参数是dimension,而take是操作tensor的数据

你可能感兴趣的:(机器学习,pytorch,人工智能,python)