目前我从我的运行以下代码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 观察,则该过程使用所有核心。为什么大数据集不能使用所有核心?