我想将XGBoost用于在线生产目的(python2.7xgboostapi)。
为了做到这一点,我想控制并限制XGBoost在predict操作中使用的线程数。在
我使用的是XGBoost提供的兼容回归函数(xgboost.xgb回归器),并尝试在回归函数的构造函数中使用paramnthread将使用的最大线程数限制为1。在
不幸的是,无论在nthread中设置了什么值,XGBoost仍然使用多个线程。在
有没有其他方法来限制XGBoost并强制它使用n=1个线程执行predict操作?在
Tags:
回答: 使用nthread的标准set_params失败,但是当使用
regr._Booster.set_param('nthread', 1)
时,我能够将XGBoost限制为使用单个线程。在如上所述,env变量
OMP_NUM_THREADS=1
也可以工作。在我也遇到了同样的问题,然后解决了。正确的答案是设置系统环境变量。 对于python脚本:
会有用的。在
请确保在导入任何其他包之前放置这两行代码,否则它可能无法工作。在
相关问题 更多 >
编程相关推荐