我使用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进行深度学习
4条答案
按热度按时间tjrkku2a1#
如果你想确定的话,你可以在nohup模式下运行它(后台进程),它会在远程服务器上运行你的jupyter notebook脚本,即使你断开了连接。
您可以通过查看以下小教程在nohup模式下运行:https://gist.github.com/33eyes/e1da2d78979dc059433849c466ff5996
jw5wzhpr2#
好吧,我想我找到了错误的原因-〉这肯定是一个小内存泄漏的代码,我正在运行,导致程序崩溃后,数百个历元。
55ooxyrt3#
多少有些关联:在使用Kubeflow创建的Jupyter笔记本电脑中使用CUDA-DL库时,我也遇到过这个问题:
在这种情况下,这是由于分配给Kubeflow创建的用于部署Jupyter服务器的pod的内存不足。解决方案非常简单,只需在创建Notebook时分配更多内存(从~4Gi)(并避免代码中的内存泄漏:))
ws51t4hk4#
不是答案,而是某种故障排除:
在我的例子中,我补充道
第一个月
dill.pickles
,在测试外部/内部,将继续导致重新启动,但不一定在运行该行时,可能是几个愚蠢的行之后。(奇怪,我知道)。我检查了RAM,看起来和预期的一样。
注解解决了这个问题(无法想象为什么)。
现在我用