用法:
dask.array.rechunk(x, chunks='auto', threshold=None, block_size_limit=None, balance=False)
将 dask 数组 x 中的块转换为新块。
- x: dask array:
要重新分块的数组。
- chunks: int, tuple, dict or str, optional:
要创建的新块尺寸。 -1 表示对应维度的全尺寸。默认值为“auto”,它自动确定块大小。
- threshold: int, optional:
我们不费心引入中间步骤的图增长因子。
- block_size_limit: int, optional:
我们要生成的最大块大小(以字节为单位)默认为配置值
array.chunk-size
- balance:布尔值,默认为 False
如果为 True,请尝试使每个块的大小相同。
这意味着
balance=True
将删除任何小的剩余块,因此使用x.rechunk(chunks=len(x) // N, balance=True)
几乎肯定会导致N
块。
参数:
例子:
>>> import dask.array as da >>> x = da.ones((1000, 1000), chunks=(100, 100))
使用元组指定统一的块大小
>>> y = x.rechunk((1000, 10))
或者只用字典分块特定的维度
>>> y = x.rechunk({0: 1000})
使用值
-1
指定您想要沿维度的单个块或值"auto"
指定 dask 可以自由地重新分块维度以获得统一块大小的块>>> y = x.rechunk({0: -1, 1: 'auto'}, block_size_limit=1e8)
如果一个块大小不划分维度,那么重新分块会将任何不均匀性留给最后一个块。
>>> x.rechunk(chunks=(400, -1)).chunks ((400, 400, 200), (1000,))
但是,如果您想要更平衡的块,并且不介意 Dask 为您选择不同的块大小,那么您可以使用
balance=True
选项。>>> x.rechunk(chunks=(400, -1), balance=True).chunks ((500, 500), (1000,))
相关用法
- Python dask.array.reciprocal用法及代码示例
- Python dask.array.remainder用法及代码示例
- Python dask.array.register_chunk_type用法及代码示例
- Python dask.array.repeat用法及代码示例
- Python dask.array.real用法及代码示例
- Python dask.array.result_type用法及代码示例
- Python dask.array.random.weibull用法及代码示例
- Python dask.array.random.geometric用法及代码示例
- Python dask.array.rint用法及代码示例
- Python dask.array.random.standard_cauchy用法及代码示例
- Python dask.array.random.gumbel用法及代码示例
- Python dask.array.random.standard_t用法及代码示例
- Python dask.array.random.logistic用法及代码示例
- Python dask.array.random.noncentral_chisquare用法及代码示例
- Python dask.array.random.poisson用法及代码示例
- Python dask.array.random.random_sample用法及代码示例
- Python dask.array.random.gamma用法及代码示例
- Python dask.array.rot90用法及代码示例
- Python dask.array.random.normal用法及代码示例
- Python dask.array.random.logseries用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.rechunk。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。