在常见问题解答中提到“虚拟机在空闲一段时间后会被回收,并且具有由系统强制执行的最长生存期。”
最大寿命和空闲时间是固定的还是可变的?有什么办法可以预测它们?
答案 0 :(得分:7)
改进@Ashish Anand 的回答
当您想开始时使用此代码:
function ClickConnect(){
console.log("Working");
document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
}
var clicker = setInterval(ClickConnect,60000);
以及需要停止时的以下代码:
clearInterval(clicker);
答案 1 :(得分:5)
如果关闭浏览器,则需要90分钟。如果您保持浏览器打开状态,则需要12个小时。此外,如果您在运行代码单元格的情况下关闭浏览器,如果该单元格尚未完成,则当您重新打开浏览器时,它仍将处于运行状态(即使关闭浏览器后,当前正在执行的单元格仍将继续运行)
答案 2 :(得分:2)
问题: 我正在训练模型,但是如果我不回应,则Google colab会在30分钟后自动断开连接。而且我的数据丢失了。
解决方案:
因此,为防止这种情况,只需在控制台中运行以下代码,即可防止您断开连接。
listbox
打开检查器视图。然后进入控制台。
Ctrl+ Shift + i
它将继续单击该页面并防止其断开连接。 它为我解决了这个问题。
答案 3 :(得分:1)
克服会话超时的另一种方法是在python中运行自动点击脚本(特别是如果您打算在colab中运行代码时不使用计算机)
下面是代码:(请务必在安装前先安装pynput)
import threading
from pynput.mouse import Button, Controller
from pynput.keyboard import Listener, KeyCode
delay = 20 #this is the delay of the autoclick (20 seconds here)
button = Button.left
start_stop_key = KeyCode(char='s')
exit_key = KeyCode(char='e')
class ClickMouse(threading.Thread):
def __init__(self, delay, button):
super(ClickMouse, self).__init__()
self.delay = delay
self.button = button
self.running = False
self.program_running = True
def start_clicking(self):
self.running = True
def stop_clicking(self):
self.running = False
def exit(self):
self.stop_clicking()
self.program_running = False
def run(self):
while self.program_running:
while self.running:
mouse.click(self.button)
time.sleep(self.delay)
time.sleep(0.1)
mouse = Controller()
click_thread = ClickMouse(delay, button)
click_thread.start()
def on_press(key):
if key == start_stop_key:
if click_thread.running:
click_thread.stop_clicking()
else:
click_thread.start_clicking()
elif key == exit_key:
click_thread.exit()
listener.stop()
with Listener(on_press=on_press) as listener:
listener.join()
在命令行窗口中运行此脚本,然后按“ s”键开始自动单击,按“ e”键退出,而不是将鼠标指针停留在代码单元上(通常,它会在一定的延迟后单击)。 / p>