【问题标题】:Dask SVD Computation and Reuse of Intermediate ValuesDask SVD 计算和中间值的重用
【发布时间】:2017-11-06 18:23:22
【问题描述】:

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

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

紧随其后

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

我能否确保 Dask 将重用进程的中间值,或者是否会为 u、s 和 v 重新运行整个过程?

【问题讨论】:

    标签: python dask dask-distributed


    【解决方案1】:

    您编写它的方式不会重用任何中间值(除非您使用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 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 2014-06-29
      • 1970-01-01
      相关资源
      最近更新 更多