Machine learning 在选择n_工作时有哪些权衡?

Machine learning 在选择n_工作时有哪些权衡?,machine-learning,scikit-learn,Machine Learning,Scikit Learn,这个问题与GridSearchCV等函数中的n_作业的选择有关 我们知道,使用n_jobs=-1计算将被分派到计算机的所有CPU上。如果我们使用小于-1或大于或等于1的数字,还有其他含义 我的疑问是为什么这应该是一个选择?它不应该总是-1吗?在什么情况下,我们将使用非-1的设置?因为当您将计算作为作业提交给某些群集管理器(例如SGE)时,通常会分配给定数量的CPU。消耗更多会让你的同事不高兴。也许你需要一些CPU来做其他事情。也许您的内部算法已经在使用并行处理,而额外的(外部)并行化只会降低速度

这个问题与GridSearchCV等函数中的
n_作业的选择有关

我们知道,使用
n_jobs=-1
计算将被分派到计算机的所有CPU上。如果我们使用小于-1或大于或等于1的数字,还有其他含义


我的疑问是为什么这应该是一个选择?它不应该总是-1吗?在什么情况下,我们将使用非-1的设置?

因为当您将计算作为作业提交给某些群集管理器(例如SGE)时,通常会分配给定数量的CPU。消耗更多会让你的同事不高兴。

也许你需要一些CPU来做其他事情。也许您的内部算法已经在使用并行处理,而额外的(外部)并行化只会降低速度。然后,在使用这种类似于GridSearchCV中使用的并行化时,还存在内存开销。此外,检测到的数量可能不是最优的(超线程和co以及许多其他情况)