我在使用keras时发现了一些奇怪的问题。我的系统是ubuntu 14.04/64bit
后台错误信息:
Using Theano backend.
Using gpu device 0: Tesla K20Xm (CNMeM is enabled with initial size: 80.0% of memory, cuDNN not available)
Train on 1000 samples, validate on 100 samples
Epoch 1/5
Floating point exception (core dumped)
tensorflow back error info:
F tensorflow/stream_executor/cuda/cuda_driver.cc:316] current context was not created by the StreamExecutor cuda_driver API: 0x2420480; a CUDA runtime call was likely performed without using a StreamExecutor context
当我使用ano运行CNN和tensowflow运行LSTM时,它是OK的。但是当我使用ano运行LSTM或使用tensorflow运行CNN时,错误被占用了。
通常是一些程序占用了80%的gpu内存,却从未真正运行过。或者有时结果与CPU结果大不相同。(CPU结果正确)
当你有另一个程序同时访问GPU时,这个问题就会发生在Tensorflow上。在你的例子中,很明显Theano是在Tensorflow之前加载的。所以要么在你的代码的某个地方在Keras Theano不小心被加载了。避免此问题的一个可靠方法是卸载Theano(从当前conda env/virtualenv)。