Data/Python

[Python] Google Colab(코랩) 런타임 연결 끊김 문제 자동 재연결로 해결

뚱요 2021. 6. 18. 02:07
반응형

Colab(코랩) 런타임 연결 끊김 문제 

문제

Google Colab으로 머신러닝을 하다가 잠시 자리 비우고 다른 일 하다오면 런타임이 끊겨 있는 것을 볼 수 있다. 런타임이 끊기면 코드는 돌아가고 있다고 나오나 실제로는 아무것도 실행되지 않는다. 이외에도 크롬으로 다른 작업하는 경우에도 이런 결과가 나왔었다.

Colab 런타임 연결 끊김 방지

코랩의 전체 세션 유지 시간은 12시간이고, 90분 이상 비활성화 되면 자동으로 끊기기 때문에 발생한 것이다. 코랩 프로나 코랩 프로 플러스를 유료 구독하게 된다면 더 빠른 GPU나 TPU에 우선적 엑세스하게 해주고 넉넉한 메모리 , 더욱 긴 런타임을 제공한다.

Colab 런타임 연결 끊김 방지

 

해결방법

 Google Colab을 실행하고 있는 크롬 브라우저 >개발자 도구> 콘솔창에 하단과 같이 입력하고 엔터를 누른다.

특정 주기마다 메시지가 나오면서 코랩의 연결 버튼을 클릭하게 한 원리이다. ms(밀리 세컨즈) 단위로 1초는 1000ms이다.

 

Colab 런타임 연결 끊김 방지

 크롬 콘솔창

function ClickConnect() {

    var buttons = document.querySelectorAll("colab-dialog.yes-no-dialog paper-button#cancel"); 
    buttons.forEach(function(btn) {
		btn.click();
    });
    console.log("1분마다 자동으로 재연결합니다.");
    document.querySelector("#top-toolbar > colab-connect-button").click();
}
setInterval(ClickConnect,60000);

 

에러발생하는 경우

function ClickConnect(){
    console.log("사용중"); 
    document.querySelector("colab-toolbar-button#toolbar-add-text").click() 
    }
setInterval(ClickConnect,60000)

 

참고로 2021년부터 구글에서 캡챠를 랜덤하게 팝업시켜서 사용하고 있는지 안하는지 확인하고 있다. 아무래도 사용이 더 많이 늘어나면서 더 많은 무료 사용자들을 유료 구독으로 전환하기 위해 넣은 것이다. 따라서 너무 장기간 비우면 안된다.

 

반응형