我在使用Python3内核在木星笔记本上运行一些代码,使用code和scikits.learn。在计算过程中,通过消息对话重新启动内核,其中说:“内核似乎已经死了。它将自动重新启动。“。底层木星进程的stderr只记录内核死亡的事实,并且将在没有任何有用消息的情况下重新启动。有没有检查潜在错误的方法?这可能是来自某些C++代码中的分段错误,但我只能猜测。我在服务器上搜索任何相关的日志,但没有发现任何有用的信息。
发布于 2019-09-06 11:23:01
在一个机器学习项目中,在8G RAM笔记本电脑中读取近5000张图片时,也面临着同样的问题。在对图像的分辨率做了一些数学运算之后,我发现8G的RAM不足以处理这些图像。在网络上进行了大量的研究,包括更新CUDA、cuDNN、降级TensorFlow (它们在导入相关模块/包时面临相同的错误)、将numpy更新为最新版本以及更新英特尔Math Kernel版本(命令:"conda install -c intel mkl“)(一整天的研究)。对我有效的解决方案是在Google上运行模型培训过程。
现在,回到您的问题:显示的对话:“内核似乎已经死亡。它将自动重新启动。“本身并不是一个“错误”。它更像是“木星笔记本帮助自己”,清除所有变量并重新启动内核。这是木星笔记本发出的求救信号,并从它自己得到帮助,这样它就不会坠毁。否则会导致重新启动的木星笔记本没有未保存的更改。(嗯,它是自动的,但不是“自动检查点”)
这个木星笔记本的“响应”仅仅是因为你的笔记本电脑的最大内存容量达到了。-这是“潜在的错误”(响应)。这将释放资源,使您能够重新启动程序。当你打开太多的铬标签时,还记得你的电脑挂着吗?或者运行一个有太多变量值要存储的程序(比如在我的5000张图片中)?当内存容量被充分利用时,这可能是木星笔记本的替代响应。绞刑。或者崩溃。
但是相反,开发人员已经足够仁慈地让它能够照顾好自己。
Note1:运行与.py脚本相同的代码,错误将更加冗长。
Note2:如果您正在使用CUDA,请记住,即使会话结束,朱庇特笔记本也无法释放CUDA资源。所以这可能是它重新启动的原因。
发布于 2020-10-30 07:55:58
在确认的解释清单中增列(第2点):
在我的例子中,当我将它作为Python脚本运行时,我得到了以下内容:
致命Python错误:无法从堆栈溢出恢复。..。中止(核心倾弃)
https://stackoverflow.com/questions/39328658
复制相似问题