我能够在我的四核处理器上并行运行scikit-learn函数GridSearchCV。我想知道使用某些 MPI 模块(例如 mpi4py)将其扩展到多处理器环境是否简单。
我对此很陌生,所以我也希望得到任何额外的相关信息。我现在正在浏览 mpi4py 的文档。
谢谢!
你可以看看GridSearchCV实现,作为在MPI之上实现自己的变体的灵感。但是,MPI 可能无法提供一种自然的方式来避免通过网络反复传输输入训练集数据。
另一种方法是使用 IPython.parallel,如本教程中所述。本教程中使用的 pyrallel helper lib 的代码也可以在 github 上找到。
我扩展了GridSearchCV以使用MPI,看看 http://k-d-w.org/node/95
目前,它仅适用于监督学习算法,但对无监督学习算法的修改应该很容易。希望这有帮助。