當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。