当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.array.core.normalize_chunks用法及代码示例


用法:

dask.array.core.normalize_chunks(chunks, shape=None, limit=None, dtype=None, previous_chunks=None)

将块标准化为元组的元组

这接受各种输入类型和信息,并为块生成完整的tuple-of-tuples 结果,适合传递给 Array 或 rechunk 或任何其他创建 Dask 数组的操作。

参数

chunks: tuple, int, dict, or string

要规范化的块。有关更多详细信息,请参见下面的示例

shape: Tuple[int]

阵列的形状

limit: int (optional)

如果可以自由选择,则以字节为目标的最大块大小

dtype: np.dtype
previous_chunks: Tuple[Tuple[int]] optional

在重新分块自动尺寸时,我们应该使用先前数组中的块来获取灵感。如果未提供但 auto-chunking 存在,则 auto-dimensions 将首选 square-like 块形状。

例子

指定统一的块大小

>>> from dask.array.core import normalize_chunks
>>> normalize_chunks((2, 2), shape=(5, 6))
((2, 2, 1), (2, 2, 2))

还通过完全显式tuple-of-tuples

>>> normalize_chunks(((2, 2, 1), (2, 2, 2)), shape=(5, 6))
((2, 2, 1), (2, 2, 2))

将列表清理为元组

>>> normalize_chunks([[2, 2], [3, 3]])
((2, 2), (3, 3))

扩展整数输入 10 -> (10, 10)

>>> normalize_chunks(10, shape=(30, 5))
((10, 10, 10), (5,))

扩展 dict 输入

>>> normalize_chunks({0: 2, 1: 3}, shape=(6, 6))
((2, 2, 2), (3, 3))

值 -1 和 None 被映射到全尺寸

>>> normalize_chunks((5, -1), shape=(10, 10))
((5, 5), (10,))

使用值 “auto” 自动确定沿某些维度的块大小。这使用limit=dtype= 关键字来确定块的大小。术语“auto” 可以在任何可以使用整数的地方使用。有关更多信息,请参阅数组分块文档。

>>> normalize_chunks(("auto",), shape=(20,), limit=5, dtype='uint8')
((5, 5, 5, 5),)

您还可以使用字节大小(参见 dask.utils.parse_bytes() )代替 “auto” 来请求特定大小

>>> normalize_chunks("1kiB", shape=(2000,), dtype='float32')
((250, 250, 250, 250, 250, 250, 250, 250),)

尊重空维度

>>> normalize_chunks((), shape=(0, 0))
((0,), (0,))

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.core.normalize_chunks。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。