我想采用现有的函数(例如scikit-learn,特别是“预测”函数),并将其应用于多个核心数据集。ipython并行集群并行装饰器和高阶函数
我的第一个幼稚的做法:
def parallel_predict(classifier):
@dview.parallel(block=True)
def predict(matrix):
return classifier.predict(matrix)
return predict
不行的(多个内核不开始旋转起来)。有没有办法做到这一点?
或者某种方式将“不可迭代”函数传递给@dview.parallel
函数?
您是否试图并行化一个调用来预测()?并行化的简单方法基本上都是对函数进行多次调用的方式,以便它们可以在不同的内核或不同的机器上运行。将串行功能转换为并行功能通常涉及更多。 –
是的,我试图并行化一个调用来预测()。 @ dview.parallel装饰一个函数,以便在迭代器上运行时,它将可迭代器分开并将它们分别发送到不同的客户端:这就是我想要做的。不幸的是,它似乎要求参数都是可迭代的。 –
您是否可以将函数调用封装在只展示要并行处理的迭代参数的lambda表中? –