该列表中较低的形式更明确,并允许您的块形状更大的不对称性。
例子
我们将通过chunks
以下数组的一系列示例来讨论这个问题:
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 0 1 2 3 4
5 6 7 8 9 0
1 2 3 4 5 6
我们展示了不同chunks
的参数如何将数组拆分为不同的块
chunks=3
大小为 3 的对称块
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 0 1 2 3 4
5 6 7 8 9 0
1 2 3 4 5 6
chunks=2
大小为 2 的对称块
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 0 1 2 3 4
5 6 7 8 9 0
1 2 3 4 5 6
chunks=(3, 2)
不对称但重复的大小块(3, 2)
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 0 1 2 3 4
5 6 7 8 9 0
1 2 3 4 5 6
chunks=(1, 6)
不对称但重复的大小块(1, 6)
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 0 1 2 3 4
5 6 7 8 9 0
1 2 3 4 5 6
chunks=((2, 4), (3, 3))
非对称和非重复块
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 0 1 2 3 4
5 6 7 8 9 0
1 2 3 4 5 6
chunks=((2, 2, 1, 1), (3, 2, 1))
非对称和非重复块
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 0 1 2 3 4
5 6 7 8 9 0
1 2 3 4 5 6
讨论
后面的例子很少由用户提供原始数据,而是来自复杂的切片和广播操作。通常我使用最简单的形式,直到我需要更复杂的形式。块的选择应与您想要执行的计算保持一致。
例如,如果您计划沿第一个维度取出薄片,那么您可能希望使该维度比其他维度更薄。如果你打算做线性代数,那么你可能需要更多的对称块。