2

我在 Dask 数组中有一个巨大的数 GB 矩阵。如果我执行以下操作:

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 回答