Dask SVD计算和中间值的重用

时间:2017-11-06 18:23:23

标签: python dask dask-distributed

我在Dask数组中有一个巨大的,几千兆字节的矩阵。如果我执行以下操作:

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

其次是

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

我可以确保Dask将重用该进程的中间值,还是将为u,s和v重新运行整个事件?

1 个答案:

答案 0 :(得分:3)

您编写它的方式不会重复使用任何中间值(除非您使用distributed scheduler)。

无论哪种方式,你都想重写那个

from dask import compute

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

在这种情况下,所有中间值都将被共享。

有关详情,请参阅http://dask.pydata.org/en/latest/scheduler-overview.html#the-compute-function