在生成器对象上使用joblib.Parallel而不将生成器加载到ram中

时间:2018-12-17 22:20:25

标签: python parallel-processing

当我尝试使用joblib.Parallel时,如下所示:

generator = (i for i in range(10))
Parallel(n_jobs=2)(delayed(sqrt)(i ** 2) for i in generator)

但是对于具有成千上万个100mb对象的生成器,似乎在实际并行处理之前将生成器中的所有内容都加载到内存中,从而导致内存问题。

如何将生成器直接馈入函数,以使其在处理它之前而不是转换为列表之前在内部调用next()方法?

谢谢, 杰克

0 个答案:

没有答案