使Python能够利用所有核心来拟合scikit-learn模型

时间:2013-05-01 19:31:30

标签: python python-2.7 numpy scipy scikit-learn

我在Windows 8 64位上使用python 2.7运行ipython,系统有4个核心。在拟合scikit-learn模型时,CPU使用率为50%,python为25%,Chrome为25%。

为什么chrome使用的资源与python一样多?

是否存在scikit-learn模型拟合函数的多线程版本,因此利用多核可以像设置变量一样简单吗?像...

grid_search = GridSearchCV(pipeline, parameters, n_jobs=-1)

1 个答案:

答案 0 :(得分:9)

很少有sklearn模型可以自己并行运行。在非GridSearchCV交互式python会话中n_jobs=-1n_jobs=4的{​​{1}}(例如在脚本中)[1]应该能够在Windows下进行多处理(只要例如,基础个人__main__调用的持续时间超过1秒。

chrome的东西可能不相关:如果你不想让它使用任何CPU,只需关闭chrome。你可能有一个标签在后台执行一些javascript或bug的flash应用程序。

[1] http://docs.python.org/2/library/multiprocessing.html#windows