【发布时间】:2021-08-19 21:01:32
【问题描述】:
我的 Jupyter notebook 的 python 内核一直在死机。我之前已经成功运行了以下所有代码。目前,有问题。首先,我将向您展示我能够成功运行的代码块:
import xgboost as xgb
xgtrain = xgb.DMatrix(data = X_train_sub.values, label = Y_train.values) # create dense matrix of training values
xgtest = xgb.DMatrix(data = X_test_sub.values, label = Y_test.values) # create dense matrix of test values
param = {'max_depth':2, 'eta':1, 'silent':1, 'objective':'binary:logistic'} # specify parameters via map
我的数据很小的地方:
X_train_imp_sub.shape
(1365, 18)
但是,我笔记本的内核一直死在这个块上:
xgmodel = xgb.train(param, xgtrain, num_boost_round = 2) # train the model
predictions = xgmodel.predict(xgtest) # make prediction
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_true = Y_test,
y_pred = predictions.round(),
normalize = True) # If False, return # of correctly classified samples. Else, return fraction of correctly classified samples
print("Accuracy: %.2f%%" % (accuracy * 100.0))
当我将其拆分并逐行运行时,内核似乎在xgb.train() 行上死掉了。
数据很小。 xgboost 参数应该是保守的(即num_boost_round = 2、max_depth:2、eta:1,并且计算量不高。不知道发生了什么。
如前所述,我之前已经能够成功运行这两个块。我已经关闭了所有其他笔记本并重新启动了我的计算机,但没有运气。我正在 Macbook Pro 上通过 Anaconda Navigator 启动 jupyter。
-- 更新--
当我在xgboost 训练单元下方选择一个单元时,然后选择:Cells --> Run All Above,内核将始终在xgboost 训练行上死掉。这连续发生了约 40-50 次。我尝试了很多次,因为我正在对代码进行更改,以为我会在稍后解决xgboost 问题。
后来,我一个接一个地运行相同的单元格,xgboost 在我第一次尝试时以及之后的每次尝试时都完成得很好。我不知道为什么会发生这种情况,但很高兴知道。
【问题讨论】:
-
你能确定是哪个命令导致内核崩溃吗?最后一个代码单元非常多样化。它会在训练、预测或准确计算中消失吗?
-
@MykhailoLisovyi 它会有所不同。在我的笔记本中,我打破了单元格,试图确定违规代码。但是,没有一条线路会始终导致失败。有时在第 1 行失败,有时在第 1+t 行失败
-
我遇到了同样的问题,你是怎么解决这个问题的?如果您能告诉我解决方案,那就太好了