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

M1 Mac运行XGBoost创建DMatrix时Jupyter内核无报错崩溃如何解决

解决方案

  1. 升级XGBoost到1.6.0及以上版本
    你当前使用的1.4.2、1.2.0均未正式适配Apple Silicon(M系列芯片)架构,OpenMP调用逻辑和ARM架构不兼容是内核无报错崩溃的核心原因。1.6.0之后的XGBoost版本已经完成M系列芯片原生适配,可直接解决该问题:
# 先卸载原有版本
pip uninstall xgboost
# 安装最新稳定版
pip install xgboost>=1.6.0
# 若使用conda,优先用conda-forge源的原生arm版本
conda install -c conda-forge xgboost>=1.6.0
  1. 临时验证兼容问题
    如果暂时无法升级版本,可先将XGBoost运行参数中的nthread设为1,关闭多线程调用,验证是否是OpenMP兼容导致的崩溃:
params = {
    # 其他参数保持不变
    "nthread": 1
}
xgb.train(params, dtrain)

如果调整后可以正常运行,即可确认是OpenMP兼容问题,优先升级XGBoost版本即可彻底解决。

  1. 排查具体崩溃日志
    Jupyter内核静默崩溃不会输出错误信息,你可以直接在本地终端运行你的最小复现代码,终端会输出完整的崩溃栈信息,可以进一步定位是否存在其他依赖冲突。

  2. 确认Python运行架构
    执行以下命令确认你使用的Python是原生ARM版本,而非Rosetta2转译版本:

python -c "import platform;print(platform.machine())"

如果输出为arm64即为原生版本,如果输出为x86_64说明是转译版本,建议切换到原生ARM架构的Python发行版,可避免大量依赖兼容问题。

内容的提问来源于stack exchange,提问作者avriiil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:36:02