环境如下:
ubuntu18.04
tensorflow1.13
cuda10.0
cudnn7.4.2
RTX2060
近日在跑一个语义分割的模型,用的keras框架,但是在初始运行时报了两个错误:
- Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR。
- Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
记录显示是cudnn初始化出错,好多网上的文章说是cuda,cudnn,keras等版本不匹配,但是我并没有重新装环境,因为一些朋友重新装完环境之后还是会出错,说明不是环境的问题,接着我试着修改了tensorflow_backend.py里面的几行代码,
vim /home/xxx/.local/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py
如下:
if _SESSION is None:
if not os.environ.get('OMP_NUM_THREADS'):
config = tf.ConfigProto(allow_soft_placement=True)
##################
#添加代码
config.gpu_options.allow_growth=True
config.gpu_options.per_pro