keras-Segment fault(core dumped)解决方案

最近在服务器上跑CNN,出现了一个问题。

当图片较小(6*128)的时候GPU能正常运行,当图片稍微变大(36*128)点就会出现Segment fault (core dumped)的问题,单纯用CPU的时候不会出错,但是太慢了,只要用GPU+CUDA加速就会出现这样的错误,这让我很是郁闷,网上找了各种方法都没能解决,后来通过自己的各种实验,还是解决了这个问题,所以记录一下,其实很简单。

首先

给出错误的截图(图片截自https://*.com/questions/42825894/keras-segmentation-fault-core-dumped)

keras-Segment fault(core dumped)解决方案

就是这错误,模型都创建好了,就差训练了,出了这样的错误,真的好让人郁闷,好了,废话不多说,接下来就说一下如何解决。

我的解决方法:

去网上下载一个cudnn的linux-64版本,解压,把里面的include文件夹和lib64文件夹下所有文件复制到cuda文件夹下的include和lib64文件夹里(如果是32位,则是lib文件夹),然后去执行下你的python文件

如果提示“你的cudnn版本高于theano,如果出错,你需要升级theano或者降低cudnn版本到xx版本”,则你可以去网上下载个它提示的那个版本,然后按照上述步骤操作,再去执行你的python文件,如果不出意外,就解决了这个问题,不会再出错,真的是解决了好久的问题,希望对大家有帮助。

归根结底就是cudnn的问题,其实并不是内存的问题(一直怀疑是内存的问题)。