Google Colab'in bağlantısının kesilmesi nasıl engellenir?


121

S: Google Colab'in zaman aşımıyla bağlantısının kesilmesini programlı olarak önlemenin herhangi bir yolu var mı ?

Aşağıda, bir dizüstü bilgisayarın bağlantısının otomatik olarak kesilmesine neden olan koşullar açıklanmaktadır:

Google Colab not defterlerinin 90 dakikalık boşta kalma zaman aşımı ve 12 saatlik mutlak zaman aşımı vardır. Bu, kullanıcı Google Colab not defteriyle 90 dakikadan fazla etkileşimde bulunmazsa, örneğinin otomatik olarak sonlandırıldığı anlamına gelir. Ayrıca, bir Colab örneğinin maksimum ömrü 12 saattir.

Doğal olarak, sürekli olarak manuel olarak etkileşime girmek zorunda kalmadan örneğin maksimumunu otomatik olarak sıkıştırmak istiyoruz . Burada yaygın olarak görülen sistem gereksinimlerini varsayacağım:

  • Ubuntu 18 LTS / Windows 10 / Mac İşletim sistemleri
  • Linux tabanlı sistemler söz konusu olduğunda, Gnome 3 veya Unity gibi popüler DE'leri kullanma
  • Firefox veya Chromium tarayıcılar

Burada, bu tür bir davranışın Google Colab'ın Kullanım Koşullarını ihlal etmediğini , ancak SSS'lerine göre teşvik edilmediğini belirtmeliyim (kısacası: gerçekten ihtiyacınız yoksa, tüm GPU'ları kullanmak ahlaki olarak uygun değildir. ).


Şu anki çözümüm çok aptalca:

  • Öncelikle ekran koruyucuyu kapatıyorum, böylece ekranım her zaman açık.
  • Bir Arduino kartım var, bu yüzden onu sadece bir lastik ducky usb'ye çevirdim ve uyurken ilkel kullanıcı etkileşimini taklit ettim (sadece diğer kullanım durumları için elimde olduğu için).

Daha iyi yollar var mı?


1
Ben de aynı soruyu merak ediyordum. Tez savunması sırasında öğrencilere yardımcı olur.
Dmitrii

2
"90 dakikalık boşta kalma zaman aşımı ... Bir kullanıcı, google Colab not defteriyle 90 dakikadan fazla etkileşimde bulunmazsa, örnek otomatik olarak sonlandırılır." Bu kötü çünkü kerastuner o zaman kullanmak imkansız. Halkın kerastuner kullanmasını gerçekten istiyorlarsa, Google çalışanlarının daha fazla düşünmesi gerekiyor.
Geoffrey Anderson

1
Bu betiğin yürütülmesini nasıl durdururum?
Murtaza Kamal

Bir kod değil, sisteminizdeki küçük bir ağırlık ve geri alma tuşu sizin için hile yapabilir. Umarım anlamışsındır!
Vikalpa Jain

Yanıtlar:


109

Düzenleme: Görünüşe göre çözüm çok kolay ve herhangi bir JavaScript gerektirmiyor. Altta aşağıdaki satırı içeren yeni bir hücre oluşturun:

while True:pass

şimdi sonsuz döngü durmayacak ve böylece oturumunuzu canlı tutacak şekilde hücreyi çalıştırma sırasında tutun.

Eski yöntem: Her 60 saniyede bir bağlan düğmesine tıklamak için bir javascript aralığı ayarlayın. Geliştirici ayarlarını (web tarayıcınızda) Ctrl + Shift + I ile açın, ardından konsol sekmesine tıklayın ve bunu konsol komut istemine yazın. (mac için Option + Command + I tuşlarına basın)

function ConnectButton(){
    console.log("Connect pushed"); 
    document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click() 
}
setInterval(ConnectButton,60000);

1
Yakalanmamış TypeError
Shaida Muhammed

1
Görünüşe göre cevabınız güncel değil
jgauth

1
JS seçici güncellenerek düzeltildi
Tanay Karve

4
Chrome'da, bu parçacığı tek bir tıklamayla etkinleştirmek için bir yer imi oluşturabilirsiniz. Aşağıdaki URL ile bir yer imi oluşturmanız yeterlidir: javascript:void(setInterval(function(){ console.log("Connect pushed"); document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click(); },60000))(aynı komutun tek satırlık versiyonu). Bunun diğer tarayıcılarda çalışıp çalışmadığından emin değilim
pdpino

1
Bu cevap modası geçmiş görünüyor, Benim için işe yaramadı!
Şehriyar Kabir Khan

48

Bağlan düğmesinin kimliği artık "colab-connect-düğmesi" olarak değiştirildiğinden, düğmeye tıklamaya devam etmek için aşağıdaki kod kullanılabilir.

function ClickConnect(){
    console.log("Clicked on connect button"); 
    document.querySelector("colab-connect-button").click()
}
setInterval(ClickConnect,60000)

Yine de işe yaramazsa, aşağıda verilen adımları izleyin:

  1. Bağlan düğmesine sağ tıklayın (kolabın sağ üst tarafında)
  2. İncelemeye tıklayın
  3. Düğmenin HTML kimliğini alın ve aşağıdaki kodun yerine koyun
function ClickConnect(){
    console.log("Clicked on connect button"); 
    document.querySelector("Put ID here").click() // Change id here
}
setInterval(ClickConnect,60000)

5
Bu, yeni düğme kimliğine (Şubat-2020) göre mevcut çözümdür
Kaushal28

Eğer google bunun çalışmamasını sağlamaya çalışacaksa (örnek: onu bir sınıf yapın ve aynı sınıfta birden fazla sahte görünmez düğme bulundurun) 3. adım yerine her zaman yapabilirsiniz: sağ tıklama -> Kopyala -> JS Yolunu Kopyala
Banjer_HD

Hâlâ aynı sorunu alıyorum Çalışma zamanı bağlantısı kesildi, Hareketsizlik nedeniyle çalışma zamanı bağlantısı kesildi
SUSHMA KUMARI

3
Bu betiğin yürütülmesini nasıl durdururum?
Murtaza Kamal

2
@MurtazaKamal Crtl + Shift + I, Kaynaklara gidin ve duraklat düğmesine tıklayın.
Faisal Maqbool

19

Bu benim için çalışıyor -

Konsolda aşağıdaki kodu çalıştırın ve bağlantınızın kesilmesini önleyecektir. Denetleyici görünümünü açmak için Ctrl + Üst Karakter + i. Ardından konsola gidin.

function ClickConnect(){
    console.log("Working"); 
    document.querySelector("colab-toolbar-button#connect").click() 
}
setInterval(ClickConnect,60000)

Google colab'ın bağlantısının kesilmesi nasıl engellenir


1
Teşekkürler, bu benim için de iyi çalışıyor. (Aynı yorumu geçen hafta burada bıraktım ama kayboldu. İşinizi kaybetmemek önemlidir, bu nedenle bu yanıt olumlu geri bildirimi hak ediyor.)
Geoffrey Anderson

Çalışmıyor, hala bağlantısı kesiliyor. (Firefox Tarayıcısı 74.0 (64-bit) kullanarak).
hafiz031

Bu, tarayıcı penceresini simge durumuna küçültülmüş halde bıraksanız ve diğer uygulamalarla çalışsanız bile çalışıyor mu?
HarryS

16

Benim için aşağıdaki örnekler:

  • document.querySelector("#connect").click() veya
  • document.querySelector("colab-toolbar-button#connect").click() veya
  • document.querySelector("colab-connect-button").click()

hatalar atıyordu.

Bunları aşağıdakilere uyarlamam gerekiyordu:

Versiyon 1:

function ClickConnect(){
  console.log("Connnect Clicked - Start"); 
  document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
  console.log("Connnect Clicked - End"); 
};
setInterval(ClickConnect, 60000)

Sürüm 2: İşlevi durdurabilmek istiyorsanız, işte yeni kod:

var startClickConnect = function startClickConnect(){
    var clickConnect = function clickConnect(){
        console.log("Connnect Clicked - Start");
        document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
        console.log("Connnect Clicked - End"); 
    };

    var intervalId = setInterval(clickConnect, 60000);

    var stopClickConnectHandler = function stopClickConnect() {
        console.log("Connnect Clicked Stopped - Start");
        clearInterval(intervalId);
        console.log("Connnect Clicked Stopped - End");
    };

    return stopClickConnectHandler;
};

var stopClickConnect = startClickConnect();

Durdurmak için arayın:

stopClickConnect();

Benim için hata yapmayan tek çözüm bu. Teşekkürler
pairon

Yukarıdaki yöntemleri ve birkaç başka blog'u denedim. Şimdiye kadar ve günümüzle alakalı, her iki kodunuz da hatasız çalışıyor. Teşekkür ederim :)
HarryS

13

pynput ile bilgisayarınızda bir python kodu oluşturun

from pynput.mouse import Button, Controller
import time

mouse = Controller()

while True:
    mouse.click(Button.left, 1)
    time.sleep(30)

Bu kodu Masaüstünüzde çalıştırın, Ardından fare okunu herhangi bir dizindeki dizin yapısının üzerine getirin (colabs sol panel - dosya bölümü) bu kod her 30 saniyede bir dizine tıklamaya devam edecek, böylece her 30 saniyede bir genişleyecek ve küçülecektir, böylece oturumunuz olmayacaktır. süresi doldu Önemli - bu kodu bilgisayarınızda çalıştırmanız gerekir


Bunu denedim ve pynput'u içe aktardığımda bir DisplayNameError hatası aldım. Belki çünkü biz vs. yalnızca (a barındırılan çalışma zamanı oturumunda) bir tarayıcı aracılığıyla erişim CoLab değil klavye / fare
HasnainMamdani

Sanırım, fikri yanlış anladınız. Colab'a python ile erişilmez. Sadece fare (çünkü taklit etmek, tarayıcı ile fare etkileşimi) Yukarıdaki kodda yerel pc .Fix kütüphane konularında tarafından kontrol
Seyon Seyon

12

Bağlan düğmesine tıklamak yerine, oturumumu canlı tutmak için yorum düğmesine tıklıyorum. (Ağustos-2020)

function ClickConnect(){

console.log("Working"); 
document.querySelector("#comments > span").click() 
}
setInterval(ClickConnect,5000)

11

Modeli bütün gece eğitmek için RAM / Disk düğmesine periyodik olarak tıklamak için bir Makro Programı kullanıyorum . İşin püf noktası, bir makro programını iki tıklama arasında kısa bir aralıkla Ram / Disk Colab Araç Çubuğu Düğmesine iki kez tıklayacak şekilde yapılandırmaktır, böylece Çalışma Zamanı bağlantısı kesilse bile yeniden bağlanacaktır. (ilk tıklama iletişim kutusunu kapatmak için kullanılır ve ikinci tıklama YENİDEN BAĞLANMAK için kullanılır). Ancak, dizüstü bilgisayarınızı hala bütün gece açık bırakmanız ve belki de Colab sekmesini sabitlemeniz gerekir.


8

Bazı betiklerin yardımıyla yukarıdaki cevaplar işe yarayabilir. Komut dosyaları olmadan sinir bozucu bağlantı kesilmesi için bir çözümüm (veya bir tür hile) var, özellikle programınızın google sürücünüzden veri okuması gerektiğinde, bir derin öğrenme ağ modeli eğitmek gibi, reconnectişlem yapmak için komut dosyalarını kullanmanın faydası yok çünkü bir kez kolabınızla bağlantınızı keserseniz, program ölür, modelinizin veri setini tekrar okuyabilmesi için tekrar google sürücünüze manuel olarak bağlanmanız gerekir, ancak komut dosyaları bunu yapmaz.
Zaten birçok kez test ettim ve iyi çalışıyor.
Bir tarayıcı ile colab sayfasında bir program çalıştırdığınızda (Chrome kullanıyorum), programınız çalışmaya başladığında tarayıcınızda herhangi bir işlem yapmadığınızı unutmayın, örneğin: diğer web sayfalarına geçme, başka bir web sayfasını açma veya kapatma ve bu nedenle, sadece orada bırakın ve programınızın çalışmasının bitmesini bekleyin, kodlarınızı yazmaya devam etmek için pycharm gibi başka bir yazılıma geçebilir ancak başka bir web sayfasına geçemezsiniz. Neden açıp kapamanın veya başka sayfalara geçiş yapmanın google colab sayfasının bağlantı sorununa neden olacağını bilmiyorum, ancak tarayıcımı her rahatsız etmeye çalıştığımda, tıpkı bir arama işi yapmak gibi, colab ile bağlantım yakında kesilecek.


Cevabınıza Firefox'un bu numara ile iyi çalıştığını ekleyeceğim. Ama benim için Mac'imde uyku modunu kapattım ve tarayıcı penceresini sanki aktif olarak üzerinde çalışıyormuş gibi diğer tüm pencerelerin önüne koydum. Bütün gece tuttum ve işe yarıyor. JavaScript hilelerinin hiçbiri işe yaramadı. Bir not, Google Colab Pro kullanıyorum: bu yüzden bunun ücretsiz colab ile çalışıp çalışmayacağından emin değilim.
Yasser Sinjab

@Yasser Sinjab Eklemeleriniz için teşekkürler, ücretsiz sürümü kullanıyorum ve iyi çalışıyor.
Hu Xixi

8

Bunu dene:

function ClickConnect(){
  console.log("Working"); 
  document
    .querySelector("#top-toolbar > colab-connect-button")
    .shadowRoot
    .querySelector("#connect")
    .click()
}

setInterval(ClickConnect,60000)

6

Python selenyum kullanma

from selenium.webdriver.common.keys import Keys
from selenium import webdriver
import time   

driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')

notebook_url = ''
driver.get(notebook_url)

# run all cells
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.F9)
time.sleep(5)

# click to stay connected
start_time = time.time()
current_time = time.time()
max_time = 11*59*60 #12hours

while (current_time - start_time) < max_time:
    webdriver.ActionChains(driver).send_keys(Keys.ESCAPE).perform()
    driver.find_element_by_xpath('//*[@id="top-toolbar"]/colab-connect-button').click()
    time.sleep(30)
    current_time = time.time()

6

Artık JavaScript çözümlerinin çalıştığına inanmıyorum. Bunu not defterimin içinden yapıyordum:

    from IPython.display import display, HTML
    js = ('<script>function ConnectButton(){ '
           'console.log("Connect pushed"); '
           'document.querySelector("#connect").click()} '
           'setInterval(ConnectButton,3000);</script>')
    display(HTML(js))

Tümünü Çalıştır'ı ilk kez yaptığınızda (JavaScript veya Python kodu başlamadan önce), konsol şunu görüntüler:

Connected to 
wss://colab.research.google.com/api/kernels/0e1ce105-0127-4758-90e48cf801ce01a3/channels?session_id=5d8...

Bununla birlikte, JavaScript her çalıştığında, console.log kısmını görürsünüz, ancak tıklama kısmı basitçe şunu verir:

Connect pushed

Uncaught TypeError: Cannot read property 'click' of null
 at ConnectButton (<anonymous>:1:92)

Diğerleri düğme adının # colab-connect-button olarak değiştirildiğini öne sürdü, ancak bu aynı hatayı veriyor.

Çalışma zamanı başlatıldıktan sonra, düğme RAM / DİSK'i gösterecek şekilde değiştirilir ve bir açılır menü gösterilir. Açılır listeye tıklamak, <DIV class=goog menu...>"Barındırılan çalışma zamanına bağlan" ve "Yerel çalışma zamanına bağlan" olmak üzere 2 seçenekle daha önce DOM'da gösterilmeyen yeni bir tane oluşturur . Konsol penceresi açıksa ve öğeler gösteriyorsa, açılır öğeyi tıkladığınızda bu DIV'nin göründüğünü görebilirsiniz. Fare odağını görünen yeni pencerede iki seçenek arasında hareket ettirmeniz, DOM'a ek öğeler ekler, fare odağı kaybettiği anda DOM'dan tıklama yapılmadan bile tamamen kaldırılır.


katılıyorum, herhangi bir çözüm var mı
Talha Anwar

5

Yukarıdaki kodları denedim ama benim için işe yaramadı. İşte yeniden bağlanmak için JS kodum.

let interval = setInterval(function(){
let ok = document.getElementById('ok');
if(ok != null){
   console.log("Connect pushed");
ok.click();
}},60000)

Çalıştırmak için aynı şekilde (tarayıcınızın konsolunda çalıştırın) kullanabilirsiniz. Komut dosyasını durdurmak isterseniz, girebilir clearInterval(interval)ve tekrar çalıştırmak isteyebilirsiniz setInterval(interval).

Umarım bu sana yardımcı olur.


5

Bir güncellendi. benim için çalışıyor.

function ClickConnect(){
console.log("Working"); 
document.querySelector("paper-icon-button").click()
}
Const myjob = setInterval(ClickConnect, 60000)

Sizin için çalışmıyorsa, şunu çalıştırarak temizlemeyi deneyin:

clearInterval(myjob)


4

Bu benim için çalıştı (düğme sınıf adını veya kimliğini değiştirmiş gibi görünüyorlar):

function ClickConnect(){
    console.log("Working"); 
    document.querySelector("colab-connect-button").click() 
}
setInterval(ClickConnect,60000)


3

JQuery kullanmanızı tavsiye ederim (Görünüşe göre Co-lab varsayılan olarak JQuery'yi içeriyor).

function ClickConnect(){
  console.log("Working");
  $("colab-toolbar-button").click();
}
setInterval(ClickConnect,60000);

Bu işe yaramıyor:Uncaught ReferenceError: $ is not defined at ClickConnect (<anonymous>:3:3)
Kel Solaar

3

Bu javascript işlevleriyle ilgili bir sorunum var:

function ClickConnect(){
    console.log("Clicked on connect button"); 
    document.querySelector("colab-connect-button").click()
}
setInterval(ClickConnect,60000)

Düğme gerçekten tıklanmadan önce konsolda "Bağlan düğmesine tıklandı" yı yazdırırlar. Bu konudaki farklı yanıtlardan da görebileceğiniz gibi, bağlan düğmesinin kimliği Google Colab piyasaya sürüldüğünden beri birkaç kez değişti. Ve gelecekte de değiştirilebilir. Dolayısıyla, bu konudaki eski bir cevabı kopyalayacaksanız, "Bağlan düğmesine tıklandı" diyebilir, ancak aslında bunu yapmayabilir. Elbette tıklama işe yaramazsa, konsolda bir hata yazdırır, ancak ya yanlışlıkla görmezseniz? Yani şunu yapsan iyi olur:

function ClickConnect(){
    document.querySelector("colab-connect-button").click()
    console.log("Clicked on connect button"); 
}
setInterval(ClickConnect,60000)

Ve gerçekten işe yarayıp yaramadığını kesinlikle göreceksiniz.


3
function ClickConnect()
{
    console.log("Working...."); 
    document.querySelector("paper-button#comments").click()
}
setInterval(ClickConnect,600)

bu benim için çalıştı ama akıllıca kullan

mutlu öğrenme :)


3

aşağıdaki EN SON çözüm benim için çalışıyor:

function ClickConnect(){
  colab.config
  console.log("Connnect Clicked - Start"); 
  document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
  console.log("Connnect Clicked - End");
};
setInterval(ClickConnect, 60000)

Cevabınız için bir açıklama eklemeyi düşünün.
Suraj Subramanian

3

Aşağıdaki javascript benim için çalışıyor. @ Artur.k.space için krediler .

function ColabReconnect() {
    var dialog = document.querySelector("colab-dialog.yes-no-dialog");
    var dialogTitle = dialog && dialog.querySelector("div.content-area>h2");
    if (dialogTitle && dialogTitle.innerText == "Runtime disconnected") {
        dialog.querySelector("paper-button#ok").click();
        console.log("Reconnecting...");
    } else {
        console.log("ColabReconnect is in service.");
    }
}
timerId = setInterval(ColabReconnect, 60000);

Colab not defterinde, Ctrl + Shift + ituşlarına aynı anda tıklayın. Komut dosyasını kopyalayıp bilgi istemi satırına yapıştırın. Ardından Entereditörü kapatmadan önce tuşuna basın .

Bunu yaptığınızda, işlev her 60 saniyede bir ekrandaki bağlantı iletişim kutusunun gösterilip gösterilmediğini kontrol edecek ve eğer öyleyse, işlev oksizin için otomatik olarak düğmeyi tıklatacaktır.


3

Ben bir python adamı değilim ve bu 'Colab'ın gerçek kullanımının ne olduğunu bilmiyorum, onu bir yapı sistemi lol olarak kullanıyorum. Ve ssh iletimini kurardım, sonra bu kodu koyardım ve çalışır durumda bıraktım ve evet işe yarıyor.

import getpass
authtoken = getpass.getpass()

3

En çok oylanan cevap kesinlikle benim için işe yarıyor, ancak Oturumu yönet penceresinin tekrar tekrar açılmasına neden oluyor.
Bunu, aşağıdaki gibi tarayıcı konsolunu kullanarak yenile düğmesine otomatik tıklayarak çözdüm

function ClickRefresh(){
    console.log("Clicked on refresh button"); 
    document.querySelector("paper-icon-button").click()
}
setInterval(ClickRefresh, 60000)

Bu konu için daha fazla snippet ile katkıda bulunmaktan çekinmeyin https://gist.github.com/Subangkar/fd1ef276fd40dc374a7c80acc247613e


3

Bu kod, dosya gezgini bölmesinde "Klasörü yenile" yi tıklamaya devam eder.

function ClickRefresh(){
  console.log("Working"); 
  document.querySelector("[icon='colab:folder-refresh']").click()
}
const myjob = setInterval(ClickRefresh, 60000)

1
Bunun çalışması için dosya gezgini / klasör bölmesinin genişletilmesi gerektiğini unutmayın.
Kel Solaar

2

Ok tuşlarına basmak için Python'u da kullanabilirsiniz. Aşağıdaki koda da biraz rastgelelik ekledim.

from pyautogui import press, typewrite, hotkey
import time
from random import shuffle

array = ["left", "right", "up", "down"]

while True:
    shuffle(array)
    time.sleep(10)
    press(array[0])
    press(array[1])
    press(array[2])
    press(array[3])

Muhtemelen içeriğine erişmek istediğiniz gibi array, bu kod tamamen her seferinde L, R, U, D'ye basmaya kararlı görünüyor
Marc Laugharn

Neden olmasınfor key in array: press(key)
PixelZerg

2

Veri kaybından tasarruf etmek için çalıştırmak istediğiniz hücreden sonra aşağıdaki kodu çalıştırın.

!python

Ayrıca bu moddan çıkmak için şunu yazın:

exit()

2

Fareyi rasgele ileri geri hareket ettiren ve her zaman aynı yerde tıklayan bir Python3 bulana kadar bir çözüm arıyordum, ancak bu Colab'ı dizüstü bilgisayarda aktif olduğumu ve bağlantımı kesmemek için kandırmak için yeterli.

import numpy as np
import time
import mouse
import threading

def move_mouse():
    while True:
        random_row = np.random.random_sample()*100
        random_col = np.random.random_sample()*10
        random_time = np.random.random_sample()*np.random.random_sample() * 100
        mouse.wheel(1000)
        mouse.wheel(-1000)
        mouse.move(random_row, random_col, absolute=False, duration=0.2)
        mouse.move(-random_row, -random_col, absolute=False, duration = 0.2)
        mouse.LEFT
        time.sleep(random_time)


x = threading.Thread(target=move_mouse)
x.start()

Gerekli paketleri kurmanız gerekir: sudo -H pip3 install <package_name> Sadece (yerel makinenizde) ile çalıştırmanız gerekir ( sudofarenin kontrolünü ele geçirdiği için) ve Colab'ın 12 saatlik seanslarından tam olarak yararlanmanızı sağlayacak şekilde çalışması gerekir.

Kredi: Colab (Pro) kullananlar için: Etkinlik olmaması nedeniyle Oturumun bağlantısının kesilmesini önleme


Bunu ayrı bir konuya da koymak isteyeceğinizden şüpheleniyorum: D
FalconUA

@FalconUA, Dün gece Colab'ı bilgisayarımda çalışırken bıraktım ve sabah uyandığımda hala çalışır durumda olduğunu gördüm. Sanırım senaryo iyi çalışıyor, ama iş parçacığı hakkında bazı uyarılarım var, haklısın.
singrium

2

GNU Colab , bir Colaboratory örneğinin üzerinde standart bir kalıcı masaüstü ortamı çalıştırmanıza olanak tanır.

Gerçekten de makinelerin rölantiden ölmesine izin vermeyecek bir mekanizma içerir.

İşte bir video gösterimi .


2

Belki de önceki çözümlerin çoğu artık çalışmıyor. Örneğin, bu aşağıdaki kod Colab'da yeni kod hücreleri oluşturmaya devam ediyor, yine de çalışıyor. Kuşkusuz, bir grup kod hücresi oluşturmak bir rahatsızlıktır. Birkaç çalışma saatinde çok fazla kod hücresi oluşturulursa ve yeterli RAM yoksa, tarayıcı donabilir.

Bu, tekrar tekrar kod hücreleri oluşturur.

function ClickConnect(){
console.log("Working"); 
document.querySelector("colab-toolbar-button").click() 
}setInterval(ClickConnect,60000)

Ancak aşağıdaki kodun çalıştığını buldum, herhangi bir soruna neden olmuyor. Colab not defteri sekmesinde, Ctrl + Shift + iaynı anda tuşa tıklayın ve aşağıdaki kodu konsola yapıştırın. 120000 aralık yeterlidir.

function ClickConnect(){
console.log("Working"); 
document.querySelector("colab-toolbar-button#connect").click() 
}setInterval(ClickConnect,120000)

Bu kodu firefox'ta Kasım 2020'de test ettim. Chrome üzerinde de çalışacak.


1
function ClickConnect(){
    console.log("Clicked on connect button"); 
    document.querySelector("connect").click() // Change id here
}
setInterval(ClickConnect,60000)

Yukarıdaki kodu deneyin, benim için çalıştı :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.