我是 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)
Run Code Online (Sandbox Code Playgroud)
可以在https://towardsdatascience.com/why-every-data-scientist-should-use-dask-81b2b850e15b (找到使用 Dask 并行处理一章)中找到对该主题的简单介绍 。
第一步是准备一个计算图:
computation_graph = sum_list([square(i) for i in items])
Run Code Online (Sandbox Code Playgroud)
上面的指令只创建了一个如何执行计算的“配方”,但还没有开始实际的计算(还没有)。
下面是下一条指令:
print("Result", computation_graph.compute())
Run Code Online (Sandbox Code Playgroud)
它开始计算,并且因为它在打印 指令中,我们还演示了计算是如何运行的。
所以使用Dask通常需要 4 个步骤:
| 归档时间: |
|
| 查看次数: |
2732 次 |
| 最近记录: |