运行tensorflow程序bug:Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

这个bug是我在运行tensorflow代码时出现的,但是实际的原因不是代码本身的问题,应该是cpu占用太高或者内存不够的文问题

下面是我收集的各种可能出现这个错误的,以下错误都进行了来源引用,

备注:如有侵权请联系删除。

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

Process finished with exit code 137 (interrupted by signal 9: SIGSEGV)

这两种错误应该都差不多

1 用pd.read_csv()的时候报错:

摘自:https://blog.csdn.net/shangxiaqiusuo1/article/details/88880098

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

解决办法:

1、要读取的数据量太大,应该分块读取。

2、程序中加入切分再融合函数:

2  tensorflow训练模型

报错“process finished with exit code 137(interrupted by signal 9:SIGKILL) ”

摘自:https://blog.csdn.net/sjx_5937681/article/details/83615433

网上说是内存溢出、不足引起的,我出现问题是在程序运行一会后,同时发现tensorflow-gpu版从一开始就没启用gpu运算(查看gpu运行情况时未显示,说明没有使用GPU),但是本人之前运行无误,突然何时起就出现状况了,确保代码没有改动后,解决方法是:重装tensorflow-gpu
 

3 运行keras

Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

摘自:https://blog.csdn.net/sjx_5937681/article/details/83615433

出现这个信息说明发生了内存不足的问题,在keras中,可以选择小的batch_size,不要把一整个大的文件一次性读到内存里。
如果是ubuntu系统,出现此问题的一个原因是cpu不够了,当运行的网络很复杂的时候,需要加载很大的权重,需要cpu来做,会导致这个错误,

4 tensorflow 内存不足

摘自:https://blog.csdn.net/gdengden/article/details/84000165

Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

可以选择小的batch_size,

5 我自己的错误-cudnn版本引起的错误

也是在运行tensorflow的时候出现这个,我开始在网上索很多大概就是以上几种情况,都是内存不够之类的,但是我使用同样的代码在我的GTX 1060 显存6g 内存16g上实验把参数调到很小之后,跑通代码,然后在RTX Titanx显存 24G 内存32g ,运行代码仍然出现同样的错误,后来反思可能是环境的问题,我的GTX 1060 :tensorflow 1.12.0 ,cuda9.0/cudnn 7.4.2 而RTX TItanx tensorflow 1.12.0 ,cuda 9.0/cudnn7 .2.1 一对比就出现,应该就是cudnn这个地方出错了。很奇怪我在跑别的代码的时候没有出现这个错误。这个错误很应该算是比较罕见的了,最后把cudnn7.2.1换成cudnn7.4.2之后终于没有bug了。我的天哪,简直了,这个bug搞了我很长时间!我的代码是一个GAN,generator的部分没有出现问题,出现这个问题就在discriminator的本部分。如果以后又遇到类似问题的可以参考一下,当然不一定是把cudnn换成7.4.2也可能是其它版本。

但是比较奇怪的是tensorflow1.12.0看到网上推荐cudnn7.4.2之前的版本,而cudnn7.4.2对应tensorflow1.13.0版本,所以这个错误还是比较罕见的

猜你喜欢

转载自blog.csdn.net/firesolider/article/details/103290563
今日推荐