Google Colab会话超时

Sia*_*Sia 8 google-colaboratory

在常见问题解答中,提到了“虚拟机在空闲一段时间后会被回收,并且具有由系统强制执行的最长生存期。”

最大寿命和空闲时间是固定的还是可变的?有什么办法可以预测它们?

Ash*_*and 40

问题:我正在训练我的模型,但如果我没有响应,google colab 会在 30 分钟后自动断开连接。而且我的数据丢失了。

解决方案:因此,为了防止这种情况,只需在控制台中运行以下代码即可防止您断开连接。 Ctrl+ Shift + i打开检查员视图。然后去控制台。

function ClickConnect(){
console.log("Working"); 
document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
}
setInterval(ClickConnect,60000)
Run Code Online (Sandbox Code Playgroud)

它会继续点击页面并防止它断开连接。它为我解决了这个问题。

或者,您也可以尝试以下代码段:

interval = setInterval(function() { 
    console.log("working")
    var selector = "#top-toolbar > colab-connect-button"
    document.querySelector(selector).shadowRoot.querySelector("#connect").click()
    setTimeout(function() {
            document.querySelector(selector).shadowRoot.querySelector("#connect").click()
    }, 1000)
}, 60*1000)
Run Code Online (Sandbox Code Playgroud)

  • 自 8/2020 起,更改为: document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click(); (9认同)
  • @Ashish,您好,我收到此错误“未捕获的类型错误:无法在 ClickConnect (<anonymous>:3:55)”处读取 null 的属性“click”。你能帮忙吗? (4认同)
  • 元素“colab-toolbar-button#connect”似乎不再存在,所以我怀疑这是否仍然有效。 (4认同)
  • 对我来说,经过一段时间的培训后,我只看到会话横幅,而底部没有“关闭”按钮 - 即我必须单击横幅外部(灰色部分)的任何位置,而不是单击特定按钮。我该如何自动化这个?编辑:上面的代码运行没有错误,但不执行任何操作。 (2认同)

Kor*_*ich 15

如果关闭浏览器,则需要90分钟。如果您保持浏览器打开状态,则需要12个小时。此外,如果您在运行代码单元格的情况下关闭浏览器,如果该单元格尚未完成,则当您重新打开浏览器时,它仍将处于运行状态(即使关闭浏览器后,当前正在执行的单元格也会继续运行)

  • 实际情况是 18 分钟是我实际观察时断开连接的时间,而不是阅读谷歌的文档。我上传的文件还在那里。有时文件会消失,我必须重新上传。我得去观察一下超时是多少。 (5认同)
  • 如果它是打开的并且我不断地在处理它,如循环(更改参数,然后执行2-3个小时,检查结果),该怎么办?在这种情况下,会话也会在12小时后消失吗? (2认同)
  • @GeoffreyAnderson:如果您安装驱动器并上传到其中,您的数据将不会消失,如果它位于“csv、图像、视频等”文件中。使用“from google.colab importdrive;”非常简单。驱动器.mount('/content/gdrive')` (2认同)

小智 10

改进@Ashish Anand 的回答

当您想开始时使用此代码:

function ClickConnect(){
console.log("Working"); 
document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
}
var clicker = setInterval(ClickConnect,60000);
Run Code Online (Sandbox Code Playgroud)

以及需要停止时的以下代码:

clearInterval(clicker);
Run Code Online (Sandbox Code Playgroud)