Scikit learn sklearn随机林不并行

Scikit learn sklearn随机林不并行,scikit-learn,Scikit Learn,我正在Ubuntu 12.04上使用sklearn 0.16并运行: from sklearn.ensemble import RandomForestClassifier import numpy as np X=np.random.rand(5000,500) y=(np.random.rand(5000).round()) RandomForestClassifier(n_jobs=10,n_estimators=1000).fit(X,y) 然而,它并没有耗尽我的内核,并且需要与n_j

我正在Ubuntu 12.04上使用sklearn 0.16并运行:

from sklearn.ensemble import RandomForestClassifier
import numpy as np
X=np.random.rand(5000,500)
y=(np.random.rand(5000).round())
RandomForestClassifier(n_jobs=10,n_estimators=1000).fit(X,y)
然而,它并没有耗尽我的内核,并且需要与n_jobs=1相同的时间。关于如何调试这里发生的事情有什么想法吗

此屏幕截图显示了一些其他正在运行的繁忙内容,但htop始终显示可用的CPU:


您需要更改
n\u jobs
参数

使用
n\u jobs=-1
将使用所有可用的内核。

尝试以下操作:

import affinity
import multiprocessing
affinity.set_process_affinity_mask(0, 2**multiprocessing.cpu_count()-1)

这不应该发生。你们有多少核?我的最佳选择是你在一个只有一个核心的虚拟机上。你的htop看起来像什么?@AndreasMueller我发布了一个屏幕截图,肯定有可用的内核…尝试设置
n_jobs=-1
。它现在使用你所有的核心吗?你在使用OpenBLAS吗?