1

我需要为不同的输入值并行运行一个函数。问题是我需要为每次迭代获取函数的输出(NetworKit 图表)。我尝试使用joblib,Multiprocessing.ProcessQueue, pathos,但我总是有同样的错误

can't pickle _NetworKit.Graph objects

这是我尝试并行化的代码片段,并带有以下示例joblib

from networkit import Graph
from joblib    import Parallel, delayed

def f( i ):
    graph = networkit.Graph()
    graph.addNode()

    # ... Some other graph computations ...

    return graph

res = Parallel( n_jobs = 2 ) ( delayed( f )( i ) for i in np.arange( 5 ) )

我了解所有这些库都pickle用于序列化对象并且networkit对象不可拾取。我读到dill允许我们腌制不可挑选的对象,有人有dill使用多处理的经验吗?

否则,有什么方法可以完成我需要的吗?

谢谢 !

4

0 回答 0