我一直在学习课程的深度学习课程。在我完成任务时,我在github上看到了一段代码。
1. numpyArr[...,c]
2. numpyArr[:,:,:,c]
这些切片方法有什么区别?
如果两个阵列都有4个维度,则结果没有差异。但是,如果您不关心尺寸的数量,使用省略号(...)只表示任意数量的尺寸。所以第一个版本意味着:
“得到所有尺寸,但从最后一个(不管是最后一个)只有条目c
”
和第二种方式
“获得尺寸0,1,2完成,并从尺寸3只进入c
。
对于4维阵列而言,这是相同的,但对于5维阵列则不同。
对于具有多个维度的阵列,可以实现更多乐趣:
arr = np.random.uniform(size=(3, 3, 3, 3, 3))
print(arr[1, ..., 2, 3].shape)
这意味着:获取第一个维度的第二个条目以及最后两个维度中的条目2和3以及其间的所有内容。
Some years ago, this has already been asked,但需要知道...
是省略号。