如何暂停和恢复Python脚本

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

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

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

python execution resume pause
1个回答
2
投票

方法一,将模型状态保存到磁盘

好吧,所以如果您想将机器学习算法的状态保存到磁盘,这将取决于您使用的库(但基本上,只需在每个时期将状态保存到磁盘,当您需要暂停时停止进程,当您继续时,请保存最新的保存)。

  • 对于
    sklearn
    ,有一个关于如何执行此操作的教程:https://scikit-learn.org/stable/modules/model_persistence.html
  • 对于
    pytorch
    ,您可以使用
    torch.save
    torch.load
  • 一般来说,在 python 中,您可以使用
    pickle
    模块将任何变量保存到文件中。这比上面特定于库的方法不太稳定,所以如果可以的话请使用这些方法。
  • 。 。 .

方法2、暂停进程

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

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

此方法的问题在于,状态保留在 RAM 中(但如果有的话,它将被调出以进行交换),因此 它不会在重新启动后持续存在,如果需要,请使用第一种方法

© www.soinside.com 2019 - 2024. All rights reserved.