我在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:
答案 0 :(得分:1)
试试这个:
import affinity
import multiprocessing
affinity.set_process_affinity_mask(0, 2**multiprocessing.cpu_count()-1)
答案 1 :(得分:-2)
您需要更改n_jobs
参数。
使用n_jobs=-1
将使其使用所有可用内核。