2013-05-01 26 views
9

我在Windows 8上运行64位与python 2.7ipython有4个内核的系统。当拟合scikit-learn模型,CPU使用率是50%,从25 python%和Chrome 25%。启用Python来利用用于装配所有内核scikit学习模式

为什么使用chrome尽可能多的CPU资源python

有没有多线程的scikit-learn模型拟合函数的版本,所以利用多核可以像设置变量一样容易?像...

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

回答

9

很少sklearn模型可以通过它们,自我并行运行。 GridSearchCVn_jobs=-1n_jobs=4在一个非__main__交互式python会话中(例如,在一个脚本中)[1]应该能够在windows下进行多处理(只要底层个体fit调用持续时间超过1秒)。

铬的东西可能是不相关的:只要关闭Chrome,如果你不希望它使用任何CPU。你可能有一个标签在后台执行一些JavaScript或错误的Flash应用程序。

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

+0

其实'n_jobs'每'fit'调用启动个人'python'实例。它导致了巨大的开销,所以它适用于“适合”时间超过1秒。 – 2016-02-21 19:04:00

+0

应该开始'n_jobs'池中的Python进程和调度配合调用这些进程。事实上,这仍然是更大的开销,并且只有在单个合适的调用需要超过1秒时才有用。 – ogrisel 2016-02-24 12:10:50

+0

我在Windows上的任务管理器中看到的肯定不是'python'进程池。 – 2016-02-24 14:11:03