深度学习与PyTorch入门实战 - 08. 索引与切片
883.44 KB
10 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
本文档主要讲解了PyTorch中张量的索引与切片操作,包括通过整数组索引访问张量的特定元素,以及通过切片操作选取张量的某些部分。示例展示了多维张量在不同维度上的索引和切片操作,例如a[0].shape,a[0,0].shape,a[0,0,2,4]等。此外,还介绍了masked_select函数的使用,如torch.masked_select(x, mask)来提取满足条件的元素。通过这些操作,可以方便地访问和修改张量的特定部分。 | ||
AI总结 | ||
## 《深度学习与PyTorch入门实战 - 08. 索引与切片》总结
### 一、索引操作
PyTorch支持多维张量的索引,从0开始,可以通过逗号分隔的索引访问不同维度的元素。例如:
- `a[0].shape` 返回第四维的张量,形状为[3, 28, 28]。
- `a[0,0].shape` 返回第三维的张量,形状为[28, 28]。
- `a[0,0,2,4]` 提取特定位置的元素,返回一个标量。
### 二、切片操作
切片操作可以从张量中提取部分元素,并支持步长参数。常见用法包括:
- `af[:2, :2, ::2].shape` 提取前两维的前两部分,步长为2,结果形状为[4, 3, 14, 14]。
- `a[:, 1, ...].shape` 访问第二个维度的第2个元素,结果形状为[4, 28, 28]。
- `a[..., :2].shape` 提取最后一个维度的前两个元素,结果形状为[4, 3, 28, 2]。
### 三、索引函数
PyTorch提供了多个实用函数来处理张量索引:
- `torch.take(src, indices)`:根据指定索引提取元素。例如,`torch.take(src, torch.tensor([0,2,6]))`从src中提取索引0、2、6处的元素。
- `torch.index_select(a, dim, indices)`:在指定维度上进行索引。例如,`a.index_select(2, torch.arange(28))`。
- `torch.masked_select(x, mask)`:根据掩码提取满足条件的元素。例如,使用`x.ge(0.5)`创建掩码,提取大于等于0.5的元素。
### 四、其他操作
通过索引设置,可以修改张量的内容:
- `a.index_setlect(2, torch.arange(28))` 在指定维度设置新值,形状保持不变。
这些索引和切片操作提供了灵活的方式来访问和操作张量,使数据处理更加高效。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
3 页请下载阅读 -
文档评分