Wie kann ich verhindern, dass Google Colab die Verbindung trennt?

Lesezeit: 5 Minuten

Benutzeravatar von hav4ik
hav4ik

Gibt es eine Möglichkeit, programmgesteuert zu verhindern Google Colab vom Trennen bei einem Timeout?

lkvoo

Im Folgenden werden die Bedingungen beschrieben, die dazu führen, dass ein Notebook automatisch getrennt wird:

Google Colab-Notebooks haben ein Leerlaufzeitlimit von 90 Minuten und ein absolutes Zeitlimit von 12 Stunden. Das bedeutet, wenn der Benutzer länger als 90 Minuten nicht mit seinem Google Colab-Notebook interagiert, wird dessen Instanz automatisch beendet. Außerdem beträgt die maximale Lebensdauer einer Colab-Instanz 12 Stunden.

Natürlich wollen wir automatisch das Maximum aus der Instanz herausholen, ohne ständig manuell damit interagieren zu müssen. Hier gehe ich von häufig gesehenen Systemanforderungen aus:

Ich sollte hier darauf hinweisen, dass ein solches Verhalten verstößt nicht Nutzungsbedingungen von Google Colabobwohl es ihrer Meinung nach nicht gefördert wird FAQ (Kurz gesagt: Es ist moralisch nicht in Ordnung, alle GPUs zu verbrauchen, wenn Sie sie nicht wirklich brauchen).


Meine aktuelle Lösung ist sehr dumm:

  • Zuerst schalte ich den Bildschirmschoner aus, damit mein Bildschirm immer an ist.
  • ich habe ein Arduino Board, also habe ich es einfach in ein verwandelt Gummiente USB Gerät und lasse es primitive Benutzerinteraktionen emulieren, während ich schlafe (nur weil ich es für andere Anwendungsfälle zur Hand habe).

Gibt es bessere Wege?

  • “Leerlaufzeit von 90 Minuten … wenn ein Benutzer länger als 90 Minuten nicht mit seinem Google Colab-Notebook interagiert, wird seine Instanz automatisch beendet.” Das ist schlecht, weil Kerastuner dann unmöglich zu verwenden ist. Google-Mitarbeiter müssen gründlicher nachdenken, wenn sie wirklich wollen, dass die Öffentlichkeit Kerastuner verwendet.

    – Geoffrey Anderson

    23. Dezember 2019 um 17:32 Uhr

  • Wie kann ich verhindern, dass dieses Skript ausgeführt wird?

    – Murtaza Kamal

    25. Mai 2020 um 5:23 Uhr

  • Nicht ein Code, sondern ein kleines Gewicht und eine Rücktaste auf Ihrem System können den Trick für Sie erledigen. Hoffe du hast verstanden!

    – Vikalp Jain

    15. August 2020 um 12:32 Uhr

  • Leider funktioniert im März 2021 keine dieser Methoden mehr, tatsächlich wird nach etwa 2-3 Stunden geöffneter Sitzung ein Fenster mit der Schaltfläche “Kein Roboter” angezeigt, dieses Fenster öffnet sich unabhängig davon, was Sie tun (es kann sogar während des Schreibens eingeblendet), wenn Sie nicht auf die Schaltfläche klicken, endet die Sitzung innerhalb von Minuten

    – BestDogeStackoverflow

    7. April 2021 um 9:53 Uhr

  • Mein Training dauert 40 Minuten, aber es gibt sowieso keine Möglichkeit, es durchzuführen. Ich wünschte, das Leerlauf-Timeout wäre 90 Minuten, wie Sie sagten

    – Christian Vincenzo Traina

    26. Juli 2021 um 21:00 Uhr

Benutzeravatar von Nitesh Jindal
Nitesh Jindal

Da die ID der Connect-Schaltfläche nun in “colab-connect-button” geändert wird, kann der folgende Code verwendet werden, um weiter auf die Schaltfläche zu klicken.

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

Wenn dies immer noch nicht funktioniert, führen Sie die folgenden Schritte aus:

  1. Klicken Sie mit der rechten Maustaste auf die Schaltfläche „Verbinden“ (oben rechts im Colab)
  2. Klicken Sie auf Inspizieren
  3. Rufen Sie die HTML-ID der Schaltfläche ab und ersetzen Sie sie durch den folgenden Code
function ClickConnect(){
    console.log("Clicked on connect button"); 
    document.querySelector("Put ID here").click() // Change id here
}
setInterval(ClickConnect,60000)

  • Dies ist die aktuelle Lösung gemäß der neuen Schaltflächen-ID (Feb-2020)

    – Kaushal28

    3. März 2020 um 6:56 Uhr


  • Wenn Google jemals versuchen wird, dass dies nicht funktioniert (Beispiel: Machen Sie es zu einer Klasse und haben Sie mehrere gefälschte unsichtbare Schaltflächen mit derselben Klasse), können Sie immer anstelle von Schritt 3: Rechtsklick -> Kopieren -> JS-Pfad kopieren

    – Banjer_HD

    3. April 2020 um 10:33 Uhr

  • Wie kann ich verhindern, dass dieses Skript ausgeführt wird?

    – Murtaza Kamal

    25. Mai 2020 um 5:22 Uhr

  • @MurtazaKamal Strg + Umschalt + I , Gehen Sie zu Quellen und klicken Sie auf die Pause-Schaltfläche.

    – Faisal Maqbool

    6. Juli 2020 um 23:08 Uhr

  • es erstellt jede Minute eine neue Zelle

    – kiranr

    18. April 2021 um 6:49 Uhr

  • Für mich ist dies die einzige Lösung, die keinen Fehler auslöst. Vielen Dank

    – paaren

    14. April 2020 um 12:50 Uhr


  • Ich habe die oben genannten Methoden und einige andere Blogs ausprobiert. Bei weitem und bis heute relevant, funktionieren beide Codes fehlerfrei. Vielen Dank 🙂

    – HarryS

    25. September 2020 um 8:46 Uhr

  • “…bis März 2021 funktioniert keine dieser Methoden mehr”

    – Peter Mortensen

    29. Oktober um 15:02 Uhr

Benutzeravatar von Kavyajeet Bora
Kavyajeet Bora

Nun, das funktioniert bei mir:

Führen Sie den folgenden Code in der Konsole aus und Sie werden daran gehindert, die Verbindung zu trennen.

Strg + Wechsel + ich um die Inspektoransicht zu öffnen. Gehen Sie dann zur Konsole.

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

So verhindern Sie, dass Colaboratory die Verbindung trennt

  • Danke das funktioniert bei mir auch gut. (Ich habe letzte Woche denselben Kommentar hier hinterlassen, aber er ist verschwunden. Es ist wichtig, keine Arbeit zu verlieren, daher verdient diese Antwort positives Feedback.)

    – Geoffrey Anderson

    23. Dezember 2019 um 17:29 Uhr

  • Funktioniert nicht, wird immer noch getrennt. (Mit Firefox-Browser 74.0 (64-Bit)).

    – hafiz031

    17. März 2020 um 0:39 Uhr

  • Funktioniert das auch, wenn Sie das Browserfenster minimiert lassen und mit anderen Anwendungen arbeiten?

    – HarryS

    24. September 2020 um 15:27 Uhr

  • “…bis März 2021 funktioniert keine dieser Methoden mehr”

    – Peter Mortensen

    29. Oktober um 15:03 Uhr

Benutzeravatar von Peter Mortensen
Peter Mortensen

Erstellen Sie Python-Code auf Ihrem PC mit pynput:

from pynput.mouse import Button, Controller
import time

mouse = Controller()

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

Führen Sie diesen Code auf Ihrem Desktop aus. Zeigen Sie dann mit dem Mauspfeil über die Verzeichnisstruktur (linkes Bedienfeld von Colaboratory – Dateibereich) auf ein beliebiges Verzeichnis.

Dieser Code klickt alle 30 Sekunden auf das Verzeichnis, sodass es alle 30 Sekunden erweitert und verkleinert wird. Ihre Sitzung läuft also nicht ab.

Wichtig – Sie müssen diesen Code auf Ihrem PC ausführen.

  • Danke das funktioniert bei mir auch gut. (Ich habe letzte Woche denselben Kommentar hier hinterlassen, aber er ist verschwunden. Es ist wichtig, keine Arbeit zu verlieren, daher verdient diese Antwort positives Feedback.)

    – Geoffrey Anderson

    23. Dezember 2019 um 17:29 Uhr

  • Funktioniert nicht, wird immer noch getrennt. (Mit Firefox-Browser 74.0 (64-Bit)).

    – hafiz031

    17. März 2020 um 0:39 Uhr

  • Funktioniert das auch, wenn Sie das Browserfenster minimiert lassen und mit anderen Anwendungen arbeiten?

    – HarryS

    24. September 2020 um 15:27 Uhr

  • “…bis März 2021 funktioniert keine dieser Methoden mehr”

    – Peter Mortensen

    29. Oktober um 15:03 Uhr

Benutzeravatar von Peter Mortensen
Peter Mortensen

Anstatt auf die zu klicken Verbinden Schaltfläche, ich klicke einfach auf die Kommentar Schaltfläche, um meine Sitzung am Leben zu erhalten (August 2020):

function ClickConnect(){

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

1436390cookie-checkWie kann ich verhindern, dass Google Colab die Verbindung trennt?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy