XGBoost GPU内存不足

时间:2020-08-18 08:44:46

标签: gpu xgboost

我正在尝试使用XGBoost和Hyperopt库实现网格搜索。但是我遇到了如图所示的问题:在第213位配置中,出现了内存不足错误。由于我的数据集不是很大,因此我怀疑这是一个过载问题,这是由于数据所致,甚至与网格搜索所依据的模型的参数无关。这是因为以前的配置也具有更多功能或训练要点,但是训练并未停止。

enter image description here

terminate called after throwing an instance of 'thrust::system::system_error'
  what():  parallel_for failed: out of memory
Aborted (core dumped)

我认为由于测试的各种配置,这可能是与GPU内存累积有关的问题,因此有必要不时发布它。但是我什么都找不到。

告诉我你的,谢谢。

1 个答案:

答案 0 :(得分:0)

这是XGBoost的一个已知问题,与https://xgboost.readthedocs.io/en/latest/gpu/index.html中的“内存使用情况”部分相关。

Hyperopt导致大量XGB实例循环,从而将数据保留在内存中。您必须通过序列化模型/增强器或在执行预测后将其删除来释放内存。

有关替代方法和更多信息,请参见此XGB问题: https://github.com/dmlc/xgboost/issues/4668