使用dask多线程模块

时间:2016-05-31 00:29:56

标签: python dask

我正在尝试使用dask的多线程模块。这段代码

def foo(arg):
  return arg*2

jobs = []
t = delayed(foo)(100)
jobs.append(t)

j = delayed(jobs, pure=True)
#j = j.compute()
j = j.compute(get=dask.multiprocessing.get)
print("class:", type(j[0]))

在执行时打印('class:', <type 'tuple'>),但如果我改为运行注释行(即不使用multiprocessing.get),那么我实际上得到了正确的结果100 ('class:', <type 'int'>)我做错了什么?< / p>

相关问题:当​​没有指定任何内容时,dask中的默认get是什么?

1 个答案:

答案 0 :(得分:0)

如果您的目标是计算延迟对象列表,那么我建议使用dask的计算函数而不是计算方法。

from dask import delayed, compute
import dask.multiprocessing

def foo(arg):
  return arg*2

jobs = [delayed(foo)(100)]

>>> compute(*jobs, get=dask.multiprocessing.get)
(200,)
相关问题