关于keras LSTM模型的GridSearchCV培训被杀死了#34;没有明确的理由

时间:2018-02-17 19:18:41

标签: python machine-learning scikit-learn keras spacy

我被一个超级奇怪的问题困扰了。我正在尝试使用sklearn分类器和GridSearchCV训练一个简单的LSTM模型。对于多个作业的gridsearch,代码将挂起而没有任何输出;只需一份工作,就可以通过以上输出杀死该过程:

2018-02-17 18:15:02.733824: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX
234/234 [==============================] - 0s 1ms/step
935/935 [==============================] - 1s 626us/step
234/234 [==============================] - 0s 2ms/step
935/935 [==============================] - 1s 684us/step
234/234 [==============================] - 1s 2ms/step
935/935 [==============================] - 1s 684us/step
234/234 [==============================] - 1s 2ms/step
935/935 [==============================] - 1s 547us/step
...
...
234/234 [==============================] - 4s 16ms/step
935/935 [==============================] - 1s 1000us/step
Killed

有谁知道杀死GridSearchCV是什么?

1 个答案:

答案 0 :(得分:1)

你的python进程被Linux Kernel的OOM杀手杀死,因为系统内存不足而python正在请求更多。

由于您正在进行交叉验证,我假设您也使用TensorFlow作为后端,在这种情况下,由于会话未被清除,因此可能是Keras / TF中的错误。 https://github.com/keras-team/keras/issues/2102

中的更多信息

快速解决方案是在每次CV迭代后使用keras.backend.clear_session。如果您没有使用TF后端,那么它可能是您自己代码中的错误。