在运行PaddlePaddle的book时出现问题:The kernel appears to have died. It will restart automatically

  • 关键词:jupyter notebook paddle.init kernel崩溃

  • 问题描述:在window 10上新建了一个python2.7的paddlepadddle环境。
    按照教程入门教程,在jupyter notebook上面执行第二步paddle.init时,jupyter提示kernel崩溃

  • 报错代码段:

import paddle.v2 as paddle
# Initialize PaddlePaddle.
paddle.init(use_gpu=False, trainer_count=1) #kernel崩溃
  • 报错输出:
[I 05:42:34.183 NotebookApp] 302 GET / (172.17.0.1) 0.66ms
[I 05:42:43.970 NotebookApp] Writing notebook-signing key to /root/.local/share/jupyter/notebook_secret
[W 05:42:43.973 NotebookApp] Notebook 01.fit_a_line/README.cn.ipynb is not trusted
[I 05:42:45.933 NotebookApp] Kernel started: cd1df3d8-56ba-4acf-8c6b-bdd51915ce1e
[I 05:42:45.947 NotebookApp] 302 GET /notebooks/01.fit_a_line/image/train_and_test.png (172.17.0.1) 4.33ms
[I 05:42:45.954 NotebookApp] 302 GET /notebooks/01.fit_a_line/image/ranges.png (172.17.0.1) 6.63ms
[I 05:42:45.963 NotebookApp] 302 GET /notebooks/01.fit_a_line/image/predictions.png (172.17.0.1) 1.31ms
[I 05:42:47.446 NotebookApp] Adapting to protocol v5.1 for kernel cd1df3d8-56ba-4acf-8c6b-bdd51915ce1e
[I 05:43:27.926 NotebookApp] KernelRestarter: restarting kernel (1/5), keep random ports
WARNING:root:kernel cd1df3d8-56ba-4acf-8c6b-bdd51915ce1e restarted
  • 复现方式:
    在Windows 10下,使用Jupyter Notebook运行波士顿房价预测模型,出现kernel崩溃

  • 解决方案:
    首先尝试不使用Jupyter Notebook而直接使用命令行来运行模型预测代码,如果不使用Jupyter NoteBook代码运行正常,则说明PaddlePaddle与模型代码本身没有什么问题,可能是Jupyter NoteBook本身的一些问题,如依赖环境冲突等,推荐使用anaconda来安装Jupyter NoteBook,如果使用命令行依旧出现问题,则先判断系统是否支持AVX命令集,使用下面命令查看

if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi

输出Yes表示电脑支持AVX命令集,输出No表示电脑不支持,判断自己安装的PaddlePaddle是否是相应的版本,电脑不支持AVX命令集的请按照no-avx版本的paddlepaddle

  • 问题分析:
    Jupyter Notebook内核崩溃的原因有很多种可能,这是个很泛化的问题,要解决这种问题,要关注造成内核崩溃的那句代码,再从大的方向去排查错误,两个大的方向,一个是你的Jupyter Notebook本身可能就有问题,比如安装时其实就没有完全成功,另一个就是你的代码使用时有问题,区分是哪一种简单而言就是将这段代码拿出来直接使用python命令行来运行,不借助Jupyter Notebook,如果可以成功,那么你就应该尝试从新安装Jupyter Notebook了,如果失败,则关注你的使用代码,因为此时不论是不是在Jupyter Notebook上运行,代码都会报错。

  • 问题拓展:
    在开发时,我们会遇到这种常见的问题,这种问题从报错信息看,都是笼统了,因为有很多种原因都可以造成这一的错误,此时报错信息中的内容也不会给出具体的解决方式,不像某些错误,缺少了什么modul,你安装一下相应的modul则可,遇到这种造成原因有多种的情况,第一步通常是判断造成当前这个问题最有可能的原因,回忆一下报错前所作的操作,或者通过排除法,将这些情况一个个分离出来,试验一下看代码是否可以运行,从而判断出是什么原因导致了这种报错,知道了原因后,才方便自己针对性的去修改。

  • 问题研究:
    Jupyter Notebook内核崩溃很多时候是资源崩溃,几个常见原因,没有做任何处理的大量读入数据进内存、向系统索要不存在的资源,当然不排除Jupyter Notebook本身就存在问题,解决这里问题,保持清晰的思路,找到多种可能的原因,利用排除法的方式逐一将可能原因排除,找到真正的原因,知道了报错的这种原因,才好进一步修改。针对本问题而言,就是paddle.init报错,那很有可能就是向系统索取相应资源时,无法获得该资源,导致Jupyter Notebook内核崩溃。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值