永远重复“内核死亡,重新启动”
Posted
技术标签:
【中文标题】永远重复“内核死亡,重新启动”【英文标题】:Repeated "Kernel died, restarting" forever 【发布时间】:2017-01-31 20:27:12 【问题描述】:当我尝试跑步时
$ jupyter qtconsole
控制台出现,并显示消息
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________
Kernel died, restarting
________________________
继续。
尝试$ jupyter qtconsole --debug
没有打印任何其他内容,也没有添加
c.Application.log_level = 0
c.Session.debug = True
转入$USERHOME/.jupyter/jupyter_qtconsole_config.py
另外,我在 $USERHOME/.ipython/profile_default/log/
和附近的其他目录中什么也没找到。
自上次启动 jupyter-qtconsole
以来,我的配置没有任何变化。
我怎样才能至少找出内核出了什么问题?在 Jupyter 中肯定有一些选项可以获取内核的 STDERR 输出,看看是什么异常让它不高兴?
【问题讨论】:
我提到了一种适用于 tensorflow 2 kernel autorestart 的解决方案 【参考方案1】:运行这个-
conda remove ipykernel ipython jupyter_client jupyter_core traitlets ipython_genutils
conda clean -tipsy
conda install ipykernel ipython jupyter_client jupyter_core traitlets ipython_genutils
jupyter notebook
【讨论】:
【参考方案2】:我跑
spyder --show-console
当我在 spyder 中接收时
内核死机,正在重新启动
我在控制台中看到消息
英特尔 MKL 致命错误:无法加载 libmkl_p4m.so 或 libmkl_p4.so。
对我很有帮助
conda install nomkl numpy scipy scikit-learn numexpr
conda remove mkl mkl-service
【讨论】:
【参考方案3】:检查日志。我遇到了同样的问题,我的日志显示no module named ipykernel_launcher
。所以,我只是pip install ipykernel
解决了这个问题。
【讨论】:
如何查看日志? 在您启动 jupyter notebook 的终端中【参考方案4】:我尝试了几种解决方案,最后我找到了一个真正有效的解决方案。 您只需为您的防病毒和/或防火墙添加例外。 我目前使用 Avast,所以添加一个关于我安装 Anaconda 的文件夹和虚拟环境的异常解决了这个问题,现在 Spyder 可以作为一个魅力。
【讨论】:
【参考方案5】:在尝试使用pandas到read data in clipboard时遇到这个问题,在Anaconda3的Spyder编辑器中尝试了很多次。我也尝试通过更新 Spyder 和其他 Anaconda3 包来解决问题,但未能解决。
最后,不使用 Anaconda3,在另一台 PC 上安装 python 3.5.3,然后
pip install pandas
,错误解除。
【讨论】:
【参考方案6】:鉴于内核是另一个进程,我能够使用 Process Explorer 捕获它启动时使用的命令行。命令行是
$ pythonw -m ipykernel -f "$USERHOME/AppData/Roaming/jupyter/runtime/kernel-2744.json"
然后,我刚刚启动python
并尝试导入ipykernel
,得到了这个:
$ python
Python 2.7.12 [...] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ipykernel
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Programs\Python2712\lib\site-packages\ipykernel\__init__.py", line 2,
in <module>
from .connect import *
File "C:\Programs\Python2712\lib\site-packages\ipykernel\connect.py", line 13,
in <module>
from IPython.core.profiledir import ProfileDir
File "C:\Programs\Python2712\lib\site-packages\IPython\__init__.py", line 48,
in <module>
from .core.application import Application
File "C:\Programs\Python2712\lib\site-packages\IPython\core\application.py", l
ine 25, in <module>
from IPython.core import release, crashhandler
File "C:\Programs\Python2712\lib\site-packages\IPython\core\crashhandler.py",
line 28, in <module>
from IPython.core import ultratb
File "C:\Programs\Python2712\lib\site-packages\IPython\core\ultratb.py", line
119, in <module>
from IPython.core import debugger
File "C:\Programs\Python2712\lib\site-packages\IPython\core\debugger.py", line
36, in <module>
from IPython.utils import PyColorize, ulinecache
File "C:\Programs\Python2712\lib\site-packages\IPython\utils\PyColorize.py", l
ine 55, in <module>
from IPython.utils.py3compat import PY3
File "C:\Programs\Python2712\lib\site-packages\IPython\utils\py3compat.py", li
ne 296, in <module>
PYPY = platform.python_implementation() == "PyPy"
AttributeError: 'module' object has no attribute 'python_implementation'
>>> exit()
这很快导致了问题,正如this answer 中所述,我试图在其中启动jupyter qtconsole
的目录有一个名为platform
的子目录,它与模块的名称冲突。
虽然这修复了“内核死亡,重新启动”的特定实例,但一般问题仍然存在:如何确保堆栈跟踪(如上面的那个)报告给 Jupyter 控制台的用户,而不是内核死亡默默地?
【讨论】:
【参考方案7】:如果启动jupyter qtconsole
的工作目录中包含一些特殊字符,则可能会反复出现“Kernel dead, restarting”错误。
对我来说,我从一个工作目录中启动了jupyter qtconsole
,该目录的路径包含空格和与号 (&)。当我将目录更改为根驱动器(在我的情况下为 D:/)时,问题就消失了。
【讨论】:
【参考方案8】:我在运行import Tensorflow as tf
时遇到了类似的问题。
降级到Tensorflow 1.5版本后,问题得到解决。
尝试卸载 TensorFlow:
pip uninstall tensorflow
然后重新安装1.5:
pip install tensorflow==1.5
【讨论】:
【参考方案9】:Jupyter_client 和 jupyter_core 版本已发布(并包含此问题的修复程序),您是否介意尝试以下操作:
1. pip install jupyter_client --upgrade - 这应该将修改后的 jupyter_client 包替换为 5.3.4 版本并安装更新版本的 jupyter_core (4.6.0)
2。如果您发现 jupyter_core 不是 4.6.0 - 请尝试 pip install jupyter_core --upgrade。
在此处查看主题:https://github.com/jupyter/notebook/issues/4907
【讨论】:
【参考方案10】:我遇到了同样的问题。我删除了 C:\Users\youruser\AppData\Roaming\jupyter\runtime 的内容,然后再次运行 jupyter notebook。这对我很有帮助。
【讨论】:
【参考方案11】:最小化你的 batch_size 它对我有用
我尝试更新 ipykernel 并且我更新了我的 numpy 似乎没有任何用处。只是最小化了我的批次它正在工作
【讨论】:
请添加更多解释为什么它有效,否则答案可能会被折叠。【参考方案12】:就我而言,更新 Numpy、重新安装 jupyter、重新安装 anaconda、使用 conda 安装模块都不适用于我......
我只是删除了 CUDNN 文件夹,仅此而已...
【讨论】:
以上是关于永远重复“内核死亡,重新启动”的主要内容,如果未能解决你的问题,请参考以下文章