如何在 GPU 上训练 XGBoost 模型,但在 CPU 上运行预测而不分配任何 GPU RAM?
我的情况:我使用
tree_method='gpu_hist'
在 Python 中创建一个 XGBoot 模型(predictor='cpu_predictor'
),然后在 GPU 上训练它,然后将其保存(pickle)到磁盘,然后从磁盘读取模型,然后使用它用于预测。
我的问题:一旦模型开始进行预测,即使我在 CPU 上运行它,它仍然会分配一些少量的 GPU RAM(大约 289MB)。这是一个问题,原因如下:
那么,如何告诉 XGBoost 不分配任何 GPU RAM 并仅使用 CPU 和常规 RAM 进行预测?
非常感谢您的帮助!
这可能是由于模型被保存为pickle
当我以 JSON 或 BIN 格式加载并重新保存模型时,问题就消失了。