如何暂停和恢复 python 脚本

问题描述

首先,我不是 Python 专家。 我目前正在处理一个机器学习问题,我必须运行可能需要几天才能结束的脚本。因此,为了方便我,我正在寻找一种可以暂停执行、将执行状态保存在文件中的方法

目标是能够中断脚本、保存执行状态、做其他事情甚至可能关闭计算机。然后返回加载执行状态并运行程序,无需从头开始。 我不知道这是否可行,但它会让我的事情变得容易得多。 感谢您的帮助

解决方法

好的,所以如果你想将机器学习算法的状态保存到磁盘,这将取决于你使用的是哪个库(但基本上,只需在每个时期将状态保存到磁盘,当你需要暂停时过程,当您恢复时,进行最后一次保存)。 对于 sklearn,有一个关于如何操作的教程:https://scikit-learn.org/stable/modules/model_persistence.html

如果您真的不需要将状态保存到磁盘,并且您正在运行 Linux / Unix / MacOS,您可以暂停进程

  • 如果您在终端中,可以使用 CTRL-Z 暂停,稍后使用命令 fg 恢复
  • 否则您可以使用 kill -STOP $YOUR_PROCESS_PID 暂停进程(是的 STOP 暂停进程,我知道这令人困惑),并使用 kill -CONT $YOUR_PROCESS_PID 重新启动它

这种方法的问题是状态保留在 RAM 中(但如果有它,它将被调出以交换)