XGBoost在创建XGBoost.DMatrix时会导致内核崩溃

3

当我尝试使用以下命令创建XGBoost DMatrix时,我的jupyter notebook内核无任何错误信息而死亡:

# Create the XGBoost DMatrix
dtrain = xgb.DMatrix(X_train, y_train)

我已经尝试了以下方法,但都没有成功:

  • 仅处理数据集的50%或25%
  • 按照 此线程 的说明删除 libiomp5.dylib
  • 在笔记本顶部包含 import os os.environ['KMP_DUPLICATE_LIB_OK']='True',如此线程所述
  • 使用 brew install libomp 更新 libomp
  • 重新安装我的 mambaforge 包管理器

目前我不知道该从哪里着手寻找解决方案。非常欢迎任何帮助和意见。

--

复现在本地使用 xgboost 产生错误的最小可重现示例 (MRE):

# create dummy data
d = {
  'y': [1, 0, 0, 1], 
  'x1': [1, 2, 3, 4],
  'x2': [5, 6, 7, 8],
  'x3': [9, 0, 1, 2]}

df = pd.DataFrame(data=d)
 
# create train/test splits
X, y = df.iloc[:, 1:], df["y"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, shuffle=True, random_state=2)

# Create the XGBoost DMatrix
dtrain = xgb.DMatrix(X_train, y_train)

我正在使用:

  • 一台2020年的M1 Macbook Pro
  • Python:3.9
  • XGBoost:1.4.2
  • Pandas:1.3.1
  • Numpy:1.21.2

注意:我尝试了降级XGBoost。版本1.2.0可以创建DMatrix,但在调用xgb.train(params, dtrain)时出现相同的行为(没有错误消息,内核停止)。

1个回答

0

我尝试了一切,也面临着同样的问题,对我起作用的是将 libomp 版本降级为 11.1.0

brew uninstall libomp
brew install libomp@11.1.0

然后重新启动jupyter。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接