为什么(远程)Jupyter 在 ML 训练期间很忙,但实际上没有做任何事情?

问题描述 投票:0回答:1

我正在自己的专用远程服务器上使用 PyTorch 训练 ML 模型,使用 Jupyter 作为我的 IDE。

大约 120 个 epoch(训练后约 2 小时),Jupyter cell 停止更新输出,但状态栏仍然显示内核状态为 busy,并且 SSH 连接仍然处于活动状态。

我想也许训练仍在继续,但输出单元停止更新,因为它包含太多输出。为了验证这个假设,昨晚我让 Jupyter 运行了大约 7 个小时。当我醒来时,它已经在 123 个 epoch 处停止更新输出单元,当我终止执行并打印出当前的 epoch 数时,它只达到 126 个 epoch。

知道是什么原因造成的吗?

machine-learning jupyter-notebook pytorch
1个回答
0
投票

您能否提供您正在运行的代码的可重现的最小示例

最重要的是,我建议:

  • 从 python 脚本而不是 jupyter 笔记本运行训练,将输出写入文件而不是打印到标准输出,并检查问题是否仍然存在
  • 在数据集的简化版本上运行训练:通过这种方式,您应该能够在更短的时间内达到相同数量的时期。如果相同时间间隔后问题仍然存在,则问题可能与 epoch 数有关,否则可能与运行时间有关。
  • 在另一台计算机/您的笔记本电脑上运行训练,以检查问题是否与您正在运行的远程计算机有关。 (如果您的笔记本电脑计算量太大,您也可以在此处使用数据集的简化版本)
© www.soinside.com 2019 - 2024. All rights reserved.