重新连接远程Jupyter Notebook并获取当前单元格输出

时间:2017-12-25 15:28:13

标签: jupyter-notebook

我正在使用jupyter笔记本在远程服务器上训练神经网络。我用以下内容进行了设置:

  • TMUX
  • jupyter-notebook --no-browser --port = 5000
  • 使用浏览器连接到jupyter笔记本并执行训练单元(我在前10分钟观看时输出正常)
  • 分离tmux(ctrl-b,d)并关闭浏览器选项卡

现在,当我在浏览器中重新连接到jupyter笔记本时,我看不到训练单元的当前输出,只看到我在观看前10分钟训练时看到的输出。

我试图为此找到一个解决方案,我认为,对于这个问题存在一些git问题,但它们已经过时了,我无法弄清楚这个问题是否已经解决。

编辑//让我的意图更清晰,因为我在stackoverflow上发现了一些解决这个问题的线程:我不想等待训练完成,因为我可能想在训练完成之前终止训练,当它绝对没有走的时候我会期待它去。因此,某种“实时”输出或至少是常规输出会很好。

2 个答案:

答案 0 :(得分:1)

如果您使用 .py 文件而不是 .ipynb 文件(jupyter notebook),并且在此 .py 文件中打印结果以测试代码的操作。

要将 .ipynb 文件转换为 .py 文件,您可以使用以下命令:

'jupyter nbconvert --to script example.ipynb'

现在,您可以使用 python 脚本而不是 jupyter notebook 文件,这会让事情变得更容易。

在您的脚本中,在您认为必要的阶段编写 prints(),以便您可以在 Tmux 终端中看到它。所以你可以随时终止你的训练 (ctr+c),如果你愿意,Tmux 可以保存会话,只需用 'ctr-b + d' 来从 de session 中分离

答案 1 :(得分:0)

这是 Jupiter Notebook 官方网站中的一个仍然未解决的问题。请参阅https://github.com/jupyterlab/jupyterlab/issues/2833“重新连接到正在运行的会话:保持输出”