根据dask documentaion,可以通过以下三种方式之一指定块:
- 像1000这样的块大小
- 像(1000,1000)
的块状形状- 所有维度的所有块的显式大小,如((1000,1000,500),(400,400))
您的块输入将被标准化并以第三种也是最明确的形式存储。
在尝试使用 visualize()功能了解块的工作方式后,仍然有一些我不确定的事情:
如果输入是标准化的,那么我选择哪种输入形式是否重要?
Blocksize 表示每个块的大小为X,即1000. blockshape 输入指定了什么?
在提供 blockshape 输入时,参数的顺序是否有所不同?它与阵列/矩阵的形状有什么关系?
答案 0 :(得分:8)
该列表中较低的表单更明确,允许块形状中更大的不对称性。
我们将通过以下数组中 $('textarea').each(function() {
// Check to see if the placeholder value equals the actual value
if ($(this).attr('placeholder') == $(this).val()) {
// If so, empty the actual value
$(this).val("");
}
});
的一系列示例来讨论这个问题:
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
大小为3的对称块
chunks=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
大小为2的对称块
chunks=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))
后者的例子很少由用户提供原始数据,但是来自复杂的切片和广播操作。一般来说,我使用最简单的形式,直到我需要更复杂的形式。块的选择应与您想要的计算一致。
例如,如果您计划沿第一个维度取出薄片,那么您可能希望使该维度比其他维度更瘦。如果您打算进行线性代数,那么您可能需要更多对称块。