gpt4 book ai didi

python - 如何调试垂死的 Jupyter Python3 内核?

转载 作者:太空狗 更新时间:2023-10-29 18:13:00 24 4
gpt4 key购买 nike

我正在使用 Python 3 内核在 Jupyter 笔记本上使用 scipy 和 scikits.learn 运行一些代码。在计算期间,内核将重新启动,并显示一条消息对话框,提示“内核似乎已死亡。它将自动重新启动。”。底层 Jupyter 进程的 stderr 只记录内核死掉并且将在没有任何有用消息的情况下重新启动的事实。有没有办法检查潜在的错误?这可能是来自某些 C++ 代码的段错误,但我只能猜测。我在服务器上搜索了任何相关日志,但没有找到任何有用的信息。

最佳答案

在机器学习项目的 8 GB RAM 笔记本电脑中读取近 5000 张图像作为 numpy 数组时遇到了完全相同的问题。在对我的图像分辨率、相应 numpy 数组的大小进行了一些计算之后,我认为 8 GB 的 RAM 不足以处理图像。在网上进行大量研究后,其中涉及更新 CUDA、cuDNN、降级 TensorFlow(他们在导入相关模块/包时遇到同样的错误)等建议,将 numpy 更新到最新版本并更新 intel Math Kernel 版本(命令:“conda install -c intel mkl”)(一整天的研究)。对我有用的解决方案是在 Google colab 上运行模型训练过程。

enter image description here

现在,回到你的问题:显示的对话:“内核似乎已经死了。它会自动重启。”本身不是“错误”。通过清除所有变量并重新启动内核,它更像是“Jupyter Notebook 帮助自己”。它是 Jupyter Notebook 发送 SOS 信号,并从自身获得帮助,这样它就不会崩溃。否则会导致重新启动的 Jupyter Notebook 没有未保存的更改。 (好吧,它会自动保存,但不会“自动检查点”)

Jupyter Notebook 的这种“响应”仅仅是因为达到了笔记本电脑的最大 RAM 容量。 - 这是“潜在错误”(响应)。这将释放资源,使您能够重新启动程序。还记得当你打开太多 chrome 标签时你的电脑挂了吗?或者运行一个有太多变量值无法存储的程序(比如我的 5000 张图像案例)?这可能是 Jupyter Notebook 在 RAM 容量被充分利用时的替代响应。绞刑。或崩溃。

但是,相反,开发人员非常友善,使其能够 self 照顾。

注意1:运行与.py脚本相同的代码,错误会更加冗长。

注意 2:如果您正在使用 CUDA,请记住即使 session 终止,Jupyter Notebook 也无法释放 CUDA 资源。所以这可能是它重新启动的原因。

关于python - 如何调试垂死的 Jupyter Python3 内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39328658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com