我需要限制以下命令的CPU使用率,因为它正在使用100%的CPU。
from sklearn.linear_model import LinearRegression
model = LinearRegression(fit_intercept = True, n_jobs = 1)
model.fit(df_x0, df_y0)
model.predict(df_x1)
我已经设置了n_jobs == 1
,并且我没有使用多处理,但是仍然使CPU完全占用了所有内核和df_y0
。ndim == 1
,我了解到n_jobs
无效。
谁能告诉我为什么它使用100%的CPU,以及如何在python中解决它?
Python 3.7,Linux。
n_jobs=1
,它将使用其中一个内核的100%的CPU。每个进程都在不同的内核中运行,并且每个进程占用给定内核的100%使用率。在具有4个内核的Linux中,可以清楚地看到CPU使用率:
(100%,~5%, ~5%, ~5%)
,当它运行n_jobs=1
时(如果将n_jobs
指定为1,则使用仅一个内核)。
(100%, 100%, 100%, 100%)
当与n_jobs=-1
一起运行时(如果将n_jobs
指定为-1,它将使用所有内核)。
此外,您也可以根据他在Linux下使用scikit-learn 0.20.3进行的测试来检查@kenlukas answer