1

目前我从我的运行以下代码model.py

model = RandomForestRegressor(n_estimators=1000, random_state=42, 
n_jobs=-1, criterion='mse')
print('gs start')
# run grid search
grid_search = GridSearchCV(model,
                           param_grid=param_grid,
                           cv=5,
                           scoring='neg_mean_squared_error',
                           verbose=True,
                           n_jobs=-1,
                           refit=True)

用命令nohup python -u model.py &

然后使用top -c我监视过程。

一旦我使用我的数据子集启动流程,我可以看到所有工作人员都在运行,但是如果我尝试使用我所有的 600 万个观察结果,流程输出[Parallel(n_jobs=-1)]: Using backend LokyBackend with 128 concurrent workers.

从多个工人开始,然后过一段时间只使用 1 个核心。如果我只使用 ~200k 观察,则该过程使用所有核心。为什么大数据集不能使用所有核心?

4

0 回答 0