You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用多进程进行XGBoost模型批量预测时进程挂起问题排查求助

使用多进程进行XGBoost模型批量预测时进程挂起问题排查求助

大家好,我最近碰到一个多进程批量预测的棘手问题,想请各位大佬帮忙分析排查下。我的业务场景是用Python多进程实现批量预测,具体流程如下:

  1. 主进程中先通过 with mp.Pool(processes=num_processes) as pool 创建进程池,接着用 with Dataset(dataset_code) as data 通过websocket获取数据,这部分运行完全正常。
  2. 之后启动多进程预测任务,核心代码如下:
    result = pool.apply_async(pred_data_from_db, args=(start_index, chunk))
    
  3. 在 pred_data_from_db 函数内部,我通过动态导入的方式加载用户自定义的预测逻辑:
    predict = getattr(module, customized_pred_func_name)
    
  4. 问题就出在XGBoost的pkl模型执行预测的环节——进程直接挂起,没有任何报错日志或输出,完全卡死。

补充信息

  • 模型是在多进程启动前就已经加载完成的
  • 我用Flask搭建了一个进度查询接口,供其他服务获取批量预测的实时进度
  • 换成SVM的pkl模型做相同流程的预测时,完全不会出现这个问题
  • 我已经将XGBoost模型的n_job参数设置为1了

希望各位能给我一些排查问题的方向或思路,非常感谢!

备注:内容来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 11:43:02