python-3.x Jupyter笔记本:内核突然重新启动

ozxc1zmp  于 2022-12-24  发布在  Python
关注(0)|答案(4)|浏览(321)

我使用Jupyter lab和Jupyter Notebook来运行深度学习程序,所以我做了一些长时间的运行来训练我的模型。但是几周来,我经常在训练几个小时后重启内核,这非常烦人。此外,服务器控制台或浏览器日志提供的信息非常少:
Jupyter-lab服务器日志:

[I 2021-02-26 00:40:03.756 ServerApp] AsyncIOLoopKernelRestarter: restarting kernel (1/5), keep random ports
kernel 1330ee40-a826-44e2-9be9-f123deeaa1b2 restarted
[I 2021-02-26 00:40:04.070 ServerApp] Starting buffering for 1330ee40-a826-44e2-9be9-f123deeaa1b2:1b7fa111-f2d2-4804-bd90-c81e26562254
[I 2021-02-26 00:40:04.112 ServerApp] Restoring connection for 1330ee40-a826-44e2-9be9-f123deeaa1b2:1b7fa111-f2d2-4804-bd90-c81e26562254

当我使用Jupyter笔记本电脑而不是Jupyter实验室时,我也遇到了同样的问题。
各种备注:

  • 服务器和客户机不在同一台机器上,因此我使用ssh连接到服务器,如here所述。
  • 我在一家公司的代理下工作
  • 我使用Tensorflow 2进行深度学习
tjrkku2a

tjrkku2a1#

如果你想确定的话,你可以在nohup模式下运行它(后台进程),它会在远程服务器上运行你的jupyter notebook脚本,即使你断开了连接。
您可以通过查看以下小教程在nohup模式下运行:https://gist.github.com/33eyes/e1da2d78979dc059433849c466ff5996

jw5wzhpr

jw5wzhpr2#

好吧,我想我找到了错误的原因-〉这肯定是一个小内存泄漏的代码,我正在运行,导致程序崩溃后,数百个历元。

55ooxyrt

55ooxyrt3#

多少有些关联:在使用Kubeflow创建的Jupyter笔记本电脑中使用CUDA-DL库时,我也遇到过这个问题:

AsyncIOLoopKernelRestarter: restarting kernel (1/5), keep random ports

在这种情况下,这是由于分配给Kubeflow创建的用于部署Jupyter服务器的pod的内存不足。解决方案非常简单,只需在创建Notebook时分配更多内存(从~4Gi)(并避免代码中的内存泄漏:))

ws51t4hk

ws51t4hk4#

不是答案,而是某种故障排除:

  • 运行笔记本从一开始,但只有到某个单元格.
  • 向上/向下走,直到你找到它出故障的地方。
  • 如果以前没有失败,想想你又加了什么。

在我的例子中,我补充道
第一个月
dill.pickles,在测试外部/内部,将继续导致重新启动,但不一定在运行该行时,可能是几个愚蠢的行之后。(奇怪,我知道)。
我检查了RAM,看起来和预期的一样。
注解解决了这个问题(无法想象为什么)。
现在我用

pp=dill.loads(dill.dumps(al_es))
test_eq(is_a_valid_object(pp),True)
# is_a_valid_object is my own function
# test_eq is from fastcore.test.test_eq

相关问题