限制XGBoos使用的线程数

2024-09-30 14:16:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将XGBoost用于在线生产目的(python2.7xgboostapi)。 为了做到这一点,我想控制并限制XGBoost在predict操作中使用的线程数。在

我使用的是XGBoost提供的兼容回归函数(xgboost.xgb回归器),并尝试在回归函数的构造函数中使用paramnthread将使用的最大线程数限制为1。在

不幸的是,无论在nthread中设置了什么值,XGBoost仍然使用多个线程。在

有没有其他方法来限制XGBoost并强制它使用n=1个线程执行predict操作?在


Tags: 方法函数目的线程predictxgboostxgbnthread
2条回答

回答: 使用nthread的标准set_params失败,但是当使用regr._Booster.set_param('nthread', 1)时,我能够将XGBoost限制为使用单个线程。在

如上所述,env变量OMP_NUM_THREADS=1也可以工作。在

我也遇到了同样的问题,然后解决了。正确的答案是设置系统环境变量。 对于python脚本:

import os
os.environ['OMP_NUM_THREADS'] = "1"

会有用的。在

请确保在导入任何其他包之前放置这两行代码,否则它可能无法工作。在

相关问题 更多 >

    热门问题