dask:指定进程数

时间:2018-07-11 12:24:20

标签: python dask

我正在尝试使用dask进行一些尴尬的并行处理。对于某些原因,我必须使用dask,但是使用multiprocessing.Pool(5).map可以轻松完成任务。

例如:

import dask
from dask import compute, delayed

def do_something(x): return x * x

data = range(10)
delayed_values = [delayed(do_something)(x) for x in data]
results = compute(*delayed_values, scheduler='processes')

它可以工作,但是显然它只使用一个进程。

如何配置dask,以便它使用5个进程的池进行计算?

2 个答案:

答案 0 :(得分:4)

您可以使用num_workers参数来指定compute方法的进程数。

results = compute(*delayed_values, scheduler='processes', num_workers=5)

答案 1 :(得分:2)

您可以将其配置为使用自定义进程池,例如:

import dask
from multiprocessing.pool import Pool

dask.config.set(pool=Pool(5))

您可能想阅读本page

或我以前的answer