2

Dask 配列に巨大な数ギガバイトのマトリックスがあります。私が次のことをした場合:

usv = dask.array.linalg.svd(A)

に続く

u.compute()
s.compute()
v.compute()

Dask がプロセスの中間値を再利用することを保証できますか、それとも u、s、および v に対してすべてが再実行されますか?

4

1 に答える 1

3

あなたが書いた方法では、中間値を再利用しません(おそらく、分散スケジューラを使用している場合を除きます)。

いずれにせよ、あなたはそれを書き直したくなるでしょう

from dask import compute

u, s, v = compute(u, s, v)

その場合、すべての中間値が共有されます。

詳細については、 http://dask.pydata.org/en/latest/scheduler-overview.html#the-compute-functionを参照してください。

于 2017-11-06T18:36:54.927 に答える