热门
在pytorch源码中我们有时会看到 a[...] 这种写法,其实这就是一种切片操作,它用于省略任意多个维度,可以用在切片的中间,也可以用在首尾。
a[...]
举个应用场景,现有一个张量维度为【10,3,5,7,9】,我们想提取第一个维度的第一个数据,最后一个维度的最后一个数据,中间三个维度的数据全要。
如果按照一般的切片,我们写法应该是:
a[0, :, :, :, 8].shape
torch.Size([3, 5, 7])
但是如果我们的数据维度过高,用 : 过于麻烦,这时我们就可以使用 ... 指代中间所有维度:
:
...
print(a[0, ..., 8].shape)