如何让Jupyter Notebook保持唤醒状态并在电脑休眠时继续运行

4

我如何使我的机器学习代码在Anaconda Jupyter笔记本电脑中即使我的电脑进入睡眠状态也能持续运行?有什么办法吗?注意:我不想改变我的睡眠设置为永不睡眠。


1
请理性一点,不要要求不可能的事情!你知道“sleep”的意思吗? - desertnaut
4个回答

8

我认为这是不可能的!当机器处于睡眠状态时,训练应该被暂停。它将在机器唤醒后无缝恢复计算。

虽然这是通用行为,但如果您不喜欢它,可以考虑其他选项,具体取决于您如何运行Jupyter笔记本,在本地?那么使用的操作系统是哪种?在Mac OS中,运行caffeinate python ...命令可防止机器在此脚本运行期间进入睡眠状态。

另一件事是,在Mac OS中是否可能只进行“显示睡眠”,而后台进程仍在运行。希望对您有所帮助。


感谢@Haramoz的回答。我正在本地的Windows 10上运行代码。我想知道为什么这个问题还没有被考虑进去。 - Uma Sankar
2
嗯,我猜可能是因为这并不是真正的“问题”,如果你想让电脑工作,为什么要把它放到睡眠状态呢?这在某种程度上挑战了睡眠的概念。我认为你想要实现的是一个新的定制化的“睡眠”功能。目前看来,Mac OS 在这方面最先进。祝你搜索好运。 - Arka Mallick
1
如何配置Jupyter以在Python单元格前缀中添加“caffeinate”?也就是说,仅在单元格正在运行时才使用“caffeinate”,但允许在其完成后休眠。 - adib
caffeinate 是一个命令行实用程序。在 Jupyter 中使用它,你可以在前面加上感叹号符号:!caffeinate....。如果你知道你的进程需要多长时间,你可以使用显式的时间参数,例如在 shell 中尝试 caffeinate -t 3600 &。时间以秒为单位,所以这个例子是一个小时。& 符号只是将此进程发送到后台,这样你就可以在它完成之前输入新的命令。 - Avi
当我的电脑进入睡眠状态时,内核会消失,我在jupyter中得到“Dismiss server”的信息,我只能确认。 - Ben

0

我不知道除了让你的电脑保持不休眠之外还有其他的方法。


0
如果您的系统是Windows 10,只需将睡眠/屏幕保护设置为您需要的时间,或者将其设置为“从不”进入睡眠状态。完成后,您可以将设置更改回所需的设置。

0

如前所述,当您的计算机处于睡眠状态时,无法训练您的模型。但是对于第二个问题(“我不想更改我的睡眠设置为永不睡眠”),有一个解决方法。您可以在运行函数时阻止Windows进入睡眠状态。解决方案在这里给出:https://gist.github.com/kbarnes3/3fb7d353e9bdd3efccd5。 将此代码保存在名为powermanagement.py的文件中,然后您可以在笔记本中导入它,并使用修饰符进行使用,如下:

from powermanagement import long_running

@long_running
def train_my_model():
    # call the long training process here...

train_my_model()

这将使Windows保持唤醒状态,直到函数运行完毕,然后计算机将再次进入睡眠模式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接