Linux 为什么sklearn的核心活动在RFECV/LogisticReturnal之后减少

Linux 为什么sklearn的核心活动在RFECV/LogisticReturnal之后减少,linux,parallel-processing,scikit-learn,jupyter-notebook,cpu-usage,Linux,Parallel Processing,Scikit Learn,Jupyter Notebook,Cpu Usage,我正在使用sklearn的特征提取RFECV,它有一个参数“n_jobs”来分配核心使用 我有一个英特尔i5-8400处理器,2.80GHz(6核) 我正在运行ubuntu 16.04(64位)。python、sklearn等的最新版本 我有两台jupyter笔记本同时运行。我在RFECV中使用n_jobs参数将5个内核分配给一个,将1个内核分配给另一个 下面是调用5个内核的代码,这5个内核无法按预期工作: logreg = LogisticRegression() rfe = RFECV(lo

我正在使用sklearn的特征提取RFECV,它有一个参数“n_jobs”来分配核心使用

我有一个英特尔i5-8400处理器,2.80GHz(6核)

我正在运行ubuntu 16.04(64位)。python、sklearn等的最新版本

我有两台jupyter笔记本同时运行。我在RFECV中使用n_jobs参数将5个内核分配给一个,将1个内核分配给另一个

下面是调用5个内核的代码,这5个内核无法按预期工作:

logreg = LogisticRegression()
rfe = RFECV(logreg, step=3, cv=10, n_jobs=5)
rfe = rfe.fit(X_lab, y_lab)
y_pred=rfe.predict(X_lab),
不管怎样,当我进入睡眠状态时,通过linux“top”命令查看CPU使用情况,它显示所有6个内核都处于活动状态,并且几乎达到100%的使用率(这是我所期望的)。但是,当我醒来时,只有2个正在运行,正如您在linux上的“top”调用的前3行中所看到的:

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

10790 ted       20   0 1489568 416948  37064 R 100.0  1.7   2456:08 python3.6                          
781 ted       20   0 1621052 392824  36348 R  99.7  1.6  13:04.46 python3.6                          
937 root      20   0  481136 106528  83944 S   8.0  0.4  42:49.95 Xorg 

我有一个相当好的液体冷却系统在我的CPU,大量的RAM,我不超频。我是否过度使用了我的CPU,或者这可能是关于如何在sklearn上实现并行性的问题,或者完全是其他问题?有什么想法吗

所以我认为这只是算法中sklearn的实现。该算法在上一篇文章发表后大约一个小时内运行,显然比n_jobs=1版本运行得更快。我再次运行它,它显示了所有的内核都正常工作,所以我相信可以说它是“逐渐结束”的,并且完成了算法中计算量很大的部分