XGBoost 模型:在 GPU 上训练,在 CPU 上运行,无需分配 GPU RAM

S.V*_*S.V 11 python cpu gpu predict xgboost

如何在 GPU 上训练 XGBoost 模型但在 CPU 上运行预测而不分配任何GPU RAM

我的情况:我tree_method='gpu_hist'用 Python 创建了一个 XGBoot 模型 ( ) predictor='cpu_predictor',然后在 GPU 上训练它,然后将其保存(pickle)到磁盘,然后从磁盘读取模型,然后用它进行预测。

我的问题:一旦模型开始进行预测,即使我在 CPU 上运行它,它仍然会分配一些少量的 GPU RAM(大约 289MB)。这是一个问题,原因如下:

  • 我运行模型的多个副本来并行化预测,如果运行太多,预测过程就会崩溃。
  • 如果我同时在同一台机器上运行预测,我无法使用 GPU 来训练其他模型。

那么,如何告诉 XGBoost 不分配任何GPU RAM 并仅使用 CPU 和常规 RAM 进行预测呢?

非常感谢您的帮助!