【发布时间】:2022-03-25 03:36:26
【问题描述】:
我想将 XGBoost 用于在线生产目的(Python 2.7 XGBoost API)。 为了能够做到这一点,我想在 predict 操作中控制和限制 XGBoost 使用的线程数。
我正在使用 XGBoost (xgboost.XGBRegressor) 提供的 sklearn 兼容回归器,并尝试使用参数 nthread回归器的构造函数将使用的最大线程数限制为 1。
不幸的是,XGBoost 一直使用多个线程,而不管 nthread 中设置的值如何。
还有其他方法可以限制 XGBoost 并强制它使用 n=1 个线程执行 predict 操作吗?
【问题讨论】:
-
阅读他们的文档并留意有关 OpenMP 和 BLAS/LAPACK 的提及。也许它是一个编译时选项,也许它可以动态完成。
-
nthread 已被弃用。如果您使用的是新版本的 xgboost,请尝试设置
n_jobs
标签: python scikit-learn python-multithreading xgboost