【发布时间】:2019-11-05 14:01:13
【问题描述】:
我是 dask 的新手,不明白 compute() 方法在 dask 中究竟做了什么?它是一种打印它调用的对象的方法吗?我已阅读其网站上的文档,但不确定我是否理解“具体价值”和“懒惰的 dask”这两个术语。
您可以通过调用 .compute() 方法或 dask.compute(...) 函数将任何 dask 集合转换为具体值。此函数将阻塞直到计算完成,直接从惰性 dask 集合到本地内存中的具体值。
我的意思是说“它是一种打印调用对象的方法吗?”就是说,当我创建一个 dask 对象并在 spyder 控制台中调用它时,它会导致 dask.array<arange, shape=(11,), dtype=int32, chunksize=(5,)> 并且当我在其上调用 compute() 方法时,它会打印该对象。
x 对象已通过以下代码创建:
x = da.arange(11, chunks=5)
【问题讨论】:
-
当你创建一个对象时,它只是一个蓝图,直到你调用
.compute()。也就是将工作分配给所有工作人员并调用实际函数或生成具体值的时候。