【发布时间】:2019-06-01 02:12:44
【问题描述】:
【问题讨论】:
【问题讨论】:
问题: 我必须训练我的模型几个小时,但如果我不经常点击,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)
下图显示了上述步骤的控制台视图:-
或者你也可以试试下面的sn-p:
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)
【讨论】:
Uncaught TypeError: Cannot read property 'click' of null at ClickConnect (<anonymous>:3:55)。你能帮忙吗?
"colab-toolbar-button#connect" 似乎不再存在,所以我怀疑这仍然有效。
改进@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);
【讨论】:
克服会话超时的另一种方法是在 python 中运行自动点击脚本(特别是如果您不打算在 colab 中运行代码时使用计算机)
代码如下:(一定要先pip install 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”键退出,然后将鼠标指针留在代码单元上(通常它会在一定延迟后单击)。
【讨论】:
from pynput.mouse import Button, Controller,它说:DisplayNameError: Bad display name "" 有人让它在 Google Colab 中工作吗?
如果关闭浏览器,则需要 90 分钟。如果您保持浏览器打开,则为 12 小时。此外,如果您关闭浏览器时代码单元正在运行,如果同一单元尚未完成,当您重新打开浏览器时,它仍将运行(即使关闭浏览器,当前执行的单元仍会继续运行)
【讨论】:
csv, image, video, etc 这样的文件中。使用from google.colab import drive; drive.mount('/content/gdrive') 非常简单