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


Python dask.graph_manipulation.bind用法及代码示例


用法:

dask.graph_manipulation.bind(children: T, parents, *, omit=None, seed: Hashable = None, assume_layers: bool = True, split_every: float | Literal[False] | None = None) → T

制作children 集合,可选择省略sub-collections,依赖于parents 集合。下面举两个例子。

第一个示例创建一个数组b2,其计算首先完全计算数组a,然后完全计算b,在此过程中重新计算a

>>> import dask
>>> import dask.array as da
>>> a = da.ones(4, chunks=2)
>>> b = a + 1
>>> b2 = bind(b, a)
>>> len(b2.dask)
9
>>> b2.compute()
array([2., 2., 2., 2.])

第二个示例创建数组 b3c3 ,其计算首先计算数组 a 然后计算加法,这一次在此过程中不重新计算 a

>>> c = a + 2
>>> b3, c3 = bind((b, c), a, omit=a)
>>> len(b3.dask), len(c3.dask)
(7, 7)
>>> dask.compute(b3, c3)
(array([2., 2., 2., 2.]), array([3., 3., 3., 3.]))

参数

children

Dask 集合或 Dask 集合的嵌套结构

parents

Dask 集合或 Dask 集合的嵌套结构

omit

Dask 集合或 Dask 集合的嵌套结构

seed

Hashable 用于种子 key 再生。省略默认为一个随机数,该随机数将在每次调用时产生不同的 key 。

assume_layers
True

使用在层级工作的快速算法,假设 childrenomit 中的所有集合

  1. 使用 HighLevelGraph

  2. 定义 __dask_layers__() 方法,以及

  3. 在创建omit 集合和children 集合之间,他们的图表从未被压缩和重建;换句话说,如果可以在children 集合的键中找到omit 集合的键,那么对于层也必须如此。

False

使用在 key 级别工作的较慢算法,这不做上述假设。

split_every

checkpoint()

返回

children 相同

Dask 集合或 dask 集合的结构相当于 children ,它们计算为相同的值。 children 的所有键都将被重新生成,直到并排除 omit 的键。紧接在 omit 上方的节点,或者如果未找到 omit 中的集合的叶节点,将被阻止计算,直到 parents 中的所有集合都已完全计算完毕。

相关用法


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