[python] Google Colab이 연결 해제되는 것을 방지하는 방법은 무엇입니까?

Q : 프로그래밍 방식으로 Google Colab 이 시간 초과시 연결 해제되는 것을 방지 할 수 있나요?

다음은 노트북이 자동으로 연결 해제되는 조건을 설명합니다.

Google Colab 노트북의 유휴 시간 제한은 90 분이고 절대 제한 시간은 12 시간입니다. 즉, 사용자가 90 분 이상 Google Colab 노트북과 상호 작용하지 않으면 인스턴스가 자동으로 종료됩니다. 또한 Colab 인스턴스의 최대 수명은 12 시간입니다.

당연히 우리는 수동으로 지속적으로 상호 작용할 필요없이 인스턴스에서 최대 값을 자동으로 압축하려고합니다 . 여기서는 일반적으로 볼 수있는 시스템 요구 사항을 가정합니다.

  • Ubuntu 18 LTS / Windows 10 / Mac 운영 체제
  • Linux 기반 시스템의 경우 Gnome 3 또는 Unity와 같은 인기있는 DE를 사용합니다.
  • Firefox 또는 Chromium 브라우저

이러한 행동 Google Colab의 사용 약관을 위반하지 않는다는 점을 지적해야합니다. FAQ 에 따라 권장 되지는 않지만 ).


내 현재 솔루션은 매우 멍청합니다.

  • 먼저 화면 보호기를 꺼서 화면이 항상 켜져 있습니다.
  • 저는 Arduino 보드를 가지고 있으므로 고무 더키 USB 로 바꾸고 잠자는 동안 원시 사용자 상호 작용을 에뮬레이트합니다 (다른 사용 사례에 사용할 수 있기 때문에).

더 좋은 방법이 있습니까?



답변

편집 :
분명히 솔루션은 매우 쉽고 JavaScript가 필요하지 않습니다. 맨 아래에 다음 줄이있는 새 셀을 만듭니다.

while True:pass

이제 무한 루프가 중지되지 않고 세션이 계속 유지되도록 셀을 실행 순서로 유지하십시오.

이전 방법 :
60 초마다 연결 버튼을 클릭하도록 자바 스크립트 간격을 설정합니다. Ctrl + Shift + I를 사용하여 개발자 설정 (웹 브라우저에서)을 연 다음 콘솔 탭을 클릭하고 콘솔 프롬프트에 입력합니다. (Mac의 경우 Option + Command + I 누르기)

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


답변

이제 연결 버튼의 ID가 “colab-connect-button”으로 변경되었으므로 다음 코드를 사용하여 버튼을 계속 클릭 할 수 있습니다.

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

그래도 작동하지 않으면 아래 단계를 따르십시오.

  1. 연결 버튼을 마우스 오른쪽 버튼으로 클릭합니다 (colab의 오른쪽 상단에 있음).
  2. 검사를 클릭하십시오
  3. 버튼의 HTML ID를 가져 와서 다음 코드로 대체합니다.
function ClickConnect(){
    console.log("Clicked on connect button");
    document.querySelector("Put ID here").click() // Change id here
}
setInterval(ClickConnect,60000)


답변

이것은 나를 위해 일하고 있습니다-

콘솔에서 다음 코드를 실행하면 연결이 끊어지지 않습니다. Ctrl + Shift + i를 사용하여 관리자보기를 엽니 다. 그런 다음 콘솔로 이동하십시오.

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

Google Colab이 연결 해제되는 것을 방지하는 방법


답변

나를 위해 다음 예 :

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

오류가 발생했습니다.

나는 그것들을 다음에 적응시켜야했다.

버전 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)

버전 2 :
기능을 중지하려면 새 코드는 다음과 같습니다.

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();

중지하려면 다음으로 전화하십시오.

stopClickConnect();


답변

pynput을 사용하여 PC에 파이썬 코드 생성

from pynput.mouse import Button, Controller
import time

mouse = Controller()

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

데스크탑에서이 코드를 실행 한 다음 임의의 디렉토리에서 (colabs 왼쪽 패널-파일 섹션) 디렉토리 구조 위로 마우스 화살표를 가리 킵니다.이 코드는 30 초마다 디렉토리를 계속 클릭하므로 세션이 30 초마다 확장 및 축소됩니다. 만료 됨 중요-이 코드를 PC에서 실행해야합니다.


답변

연결 버튼을 클릭하는 대신 댓글 버튼을 클릭하여 세션을 유지합니다. (2020 년 8 월)

function ClickConnect(){

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


답변

저는 매크로 프로그램 을 사용 하여 주기적으로 RAM / 디스크 버튼을 클릭하여 밤새도록 모델을 훈련시킵니다. 비결은 두 번의 클릭 사이에 짧은 간격으로 Ram / Disk Colab 도구 모음 버튼을 두 번 클릭하도록 매크로 프로그램을 구성하여 런타임이 연결 해제 되더라도 다시 연결되도록하는 것입니다. (첫 번째 클릭은 대화 상자를 닫는 데 사용되고 두 번째 클릭은 다시 연결하는 데 사용됨). 그러나 여전히 노트북을 밤새 열어두고 Colab 탭을 고정해야합니다.