我被一个超级奇怪的问题所困扰。我正在尝试使用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的原因是什么?

最佳答案

Linux内核的OOM杀手正在杀死您的python进程,因为系统内存不足并且python要求更多。

由于您正在执行交叉验证,因此我假设您还将TensorFlow用作后端,在这种情况下,有可能由于未清除会话而在Keras / TF中存在错误。 https://github.com/keras-team/keras/issues/2102中的更多信息

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

08-24 14:02
查看更多