딥러닝을 연구하시거나 공부 중이라면 한 번쯤은 들어본 서비스라고 생각합니다.

CoLab은 2017년 10월에 처음 공개되었고, 2019년 1월 업데이트를 통해 PyTorch를 포함한 유명 라이브러리들을 웹 환경에서 바로 이용할 수 있습니다. colab은 구글에서 제공하는 무료 서비스로 설치가 필요 없으며 완전히 클라우드에서 실행되는 Jupyter notebook 환경을 제공합니다. 따라서 기존에 Anaconda를 이용하셨던 분들이라면 바로 적용이 가능하다고 생각됩니다. 또한 Colaboratory를 사용하면 브라우저를 통해 코드를 작성 및 실행하고, 분석을 저장 및 공유하며, 강력한 컴퓨팅 리소스를 이용할 수 있습니다.

 

하지만 구글 정책상 한 세션의 최대 유지 가능 시간은 12시간이지만 90분 이상 아무런 작업이 없는 경우 세션을 유지여부를 묻는 팝업창이 뜨며 세션유지를 선택하지 않는 경우 강제로 세션을 회수하기 때문에 작업 중인 문서에 해당하는 세션이 종료되면 작업 중이던 모든 내용이 사라지게 됩니다. 또한 GPU, TPU와 같은 가속기를 제공받아 사용하는 경우 이용 시간이 상대적으로 적은 이용자에게 우선순위로 할당되기 때문에 큰 프로젝트를 진행하는 경우 세션 유지가 중요할 것입니다.

 

CODE

해당 코드는 colab이 열려있는 브라우저의 개발자 모드(F12)의 console 탭을 통해서 실행시키면 된다.

크롬(Chrome 개발자 모드)

1. 구글 colab에서 90 time out 세션 유지 javascript 코드

1
2
3
4
5
6
7
8
9
10
11
12
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("colab-toolbar-button#connect").click(); 
setInterval(ClickConnect,1000*60);
 
 
 
cs

 

2. 구글 colab에서 buffered data was truncated after reaching the output size limit 에러 방지를 위한 현재 출력창 자동 지우기

1
2
3
4
5
6
7
8
function CleanCurrentOutput(){ 
    var btn = document.querySelector(".output-icon.clear_outputs_enabled.output-icon-selected[title$='현재 실행 중...'] iron-icon[command=clear-focused-or-selected-outputs]"); 
    if(btn) { console.log("30분마다 출력 지우기");
     btn.click(); 
    } 
setInterval(CleanCurrentOutput,1000*60*30);
 
cs

+ Recent posts