我正在学习如何使用 scikit-learn。
测试 cross validation function 时,如果我使用
打开并行计算cross_validation.cross_val_score(svc, X_digits, y_digits, cv=kfold, n_jobs=-1)
结果比我关闭它要慢很多
cross_validation.cross_val_score(svc, X_digits, y_digits, cv=kfold, n_jobs=1)
我怎样才能阻止它?
我在 64 位 Windows 7 机器上使用 PyDev、Anacondas 3.3。从任务管理器来看,性能下降似乎是由许多 Python 实例启动和停止引起的。为什么他们不开始,而是一直在开始?
请您参考如下方法:
Why do they not start, and stay started?
因为这不是 Python 中的 multiprocessing 模块目前的工作方式,而这正是 scikit-learn 内部使用的方式。在 Python 3.4 中,这将至少针对 POSIX(Linux、Mac OS X)平台得到修复。我不相信 CPython 开发人员也打算为 Windows 修复此问题。 scikit-learn 的轻量级并行处理是 in the works ,但还需要一段时间才能发布。
