google-colaboratory 失去连接后程序会继续执行吗?

Do programs continue execution after connection is lost on google-colaboratory?

我正在使用 google-colaboratory 来训练一些使用 Keras 进行图像分类的卷积神经网络。而且我经常与笔记本断开连接,我发现(在某些论坛上)这是一些合作用户的常见问题。当我尝试重新连接时,它卡在 "initializing":

所以我决定在每个时期之后使用 Keras Checkpoint 将我正在训练的模型保存在我的 google 驱动器上。

在训练期间,notebook 在 2 个 epoch 后断开连接,但是当我监控我的 google 驱动器时,我观察到模型在每个 epoch 后都被保存,尽管我的 colaboratory 已断开连接。

我的猜测是,即使我的笔记本断开连接,程序也会在后台继续执行。

我的问题是,我猜对了吗?这些脱节的真正含义是什么? (我们的变量等是否保留)?

正常情况下,notebook 连接会在 12 小时后过期,所有加载到 colab 中的数据也会随会话过期。

当您 运行 一个进程和笔记本在一段时间后但在 12 小时之前断开连接时,代码 运行 在后台。

因此,如果您尝试重新连接笔记本,它会卡在 "initializing" 上,直到代码执行完成或会话到期(以先发生者为准)。之后,再次建立连接。

我是 Google Colab 的新手,也遇到过这个问题。我必须 运行 一个项目,这个过程需要超过 24 小时。我知道虚拟机无论如何都会在 12 小时(或专业版 24 小时)后终止,所以我尝试将中间结果保存到 Google 驱动器。 现在我的笔记本已经 运行ning 了大约 6 个小时,并且像 1 小时前一样停用到 VM。但我发现它仍然不断为我的 google 驱动器生成中间结果。 我认为它将在 12/24 小时或我的代码执行完成后终止。