5

我想在不同的线程中训练多个一类 SVM。有人知道 scikit 的 SVM 是否发布了 GIL?我在网上没有找到任何答案。

谢谢

4

2 回答 2

4

不,scikit-learn 不会与 GIL 玩任何花招。相反,它使用joblib来实现其所有并行性,从而产生多个进程来完成其工作。Parallel您可以使用自定义 joblib构造来实现您想要的。

如果您打算在具有不同设置的同一数据集上训练多个分类器以找到最佳分类器,请考虑使用GridSearchCV为您处理并行性的类。

于 2011-09-13T10:24:04.370 回答
4

一些 sklearn Cython 类确实在性能关键部分内部发布了 GIL,例如 0.15 的决策树(例如用于随机森林)(将于 2014 年初发布)和 libsvm 包装器。

但这不是一般规则。如果您发现 sklearn 中的性能关键 cython 代码可以更改以发布 GIL,请随时发送拉取请求。

于 2014-01-08T15:00:26.187 回答