应用sklearn.Linear_model.LinearRegression时如何限制CPU使用率?

问题描述 投票:0回答:1

我需要限制以下命令的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_y0ndim == 1,我了解到n_jobs无效。

谁能告诉我为什么它使用100%的CPU,以及如何在python中解决它?

Python 3.7,Linux。

python scikit-learn cpu-usage
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.