起因
今天在部署keras模型的时候,遇到了Segmentation fault的问题,如下图所示:
我的环境
- keras==2.3.1
- tensorflow==2.1
网上一些方法
我的模型在windows跑一点没问题,但是在linux上运行就立刻出现了问题。而且我这个问题和其他博主的不一样:
- 在这篇文章中,博主是通过删除Conda环境中的所有包之后,重新安装解决的,在我的服务器中没有安装anaconda,而是通过venv进行安装的环境,而且环境与其他人一起使用,不能轻易的删除
- 这篇文章中提及是CUDNN的问题,然而我是在CPU环境中跑的,我甚至将tensorflow重新安装为tensorflow-gpu,但是没起到任何效果
- 还有人说是内存溢出的问题,可是这个太笼统了,根本不知道是哪里的写法出了问题
我的解决方法
pip install tensorflow-gpu==1.15
将tensorflow的版本降低到1.15就可以了,很可能是因为tensorflow在更新到2.1版本的时候,和keras中的某些部分不匹配导致的问题,以后会专心使用tensorflow1和keras了