본문 바로가기
Like bot

[GPT코딩] 구글 코랩 (colab) 런타임 유지 , 연결 끊김 방지, 세션 유지 세팅

by skyfishb 2023. 5. 5.

구글 코랩 (Google Colab)은 구글계정만 있으면 무료로 사용할 수 있는 비설치형 IDE 입니다. 

프로그램이 돌아가는 메모장이라고 생각하면 쉽습니다. 

구글 코랩은 구글이 무료로 제공하기 때문에 사용을 안하면 런타임(runtime) 연결이 끊기면서 프로그램의 실행이 종료됩니다. 런타임을 유지하는 세팅을 알아보겠습니다. 

 

 

구글코랩 런타임 유지 방법 ->  자바스크립트 코드 추가

구글 코랩의 세션 런타임은 12시간, 90이상 비활성일 때 종료 됩니다. (유료버전은 24시간)

상시 모니터링하는 코딩, 인공지능 학습을 돌리면 중간에 날라갈 수 있습니다.

그래서 30분마다 코랩에 클릭 이벤트를 주는 코드를 추가해서 해결합니다. 

자바스크립트 Javascript 로 코드를 짜는 이유는 웹 브라우저에 코드를 줘야하기 때문입니다.

 

1. 구글 코랩에 접속합니다. F12를 눌러서 오른쪽에 개발자 콘솔을 띠웁니다. 

 

2. 개발자 콘솔의 하단에 자바스크립트 코드를 입력합니다.

 

일단 구글 코랩에서 테스트해야하니 1초마다 재연결하는 테스트 코드를 붙여넣어봅니다.

2-1. 테스트 코드 (1초마다 재연결) 

function ClickConnect(){
	console.log("Working 1초마다 재연결"); 
	document.querySelector("colab-toolbar-button#connect").click() 
	}setInterval(ClickConnect, 6000)

저는 에러가 나서 아래 코드로 진행 개인차가 있는듯합니다. 

F5를 누르면 새로고침되면서 F12가 초기화 됩니다. 

다시 코드를 입력을 하면됩니다. (매번 코랩 실행시 입력해야한다는 말임)

 

2-2. 테스트 코드 (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)

 

제대로 되면 이렇게 확인할 수 있습니다. 

 


실제 적용 코드 (30분마다 재연결)

function ClickConnect(){
	console.log("Working 30분마다 연결"); 
	document.querySelector("colab-toolbar-button#connect").click() 
	}setInterval(ClickConnect, 60000*30)
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, 1800000)

 

*코랩이 있는 웹페이지에만 적용됩니다.

*코드 실행전에 위의 코드 세팅을 해둬야합니다.

*돈이 있으면 서버 구매 갑시다. 무료는 한계가 있긴합니다. 

 

덤. 구글코랩 12시간 이상 자원 사용 트릭 (feat. GPT)

Q: 12시간 이상 자원을 사용하기위한 트릭이 있을가?

GPT: 구글 코랩에서 12시간 이상 자원을 사용하기 위한 트릭으로는, 무료 계정을 사용할 경우 12시간마다 런타임을 재시작하는 방법이 있습니다. 이를 위해서는 아래의 코드를 실행해주면 됩니다.

# python
# 12시간마다 런타임 재시작
import time
time.sleep(60*60*12)

위 코드는 12시간마다 런타임을 재시작하는 코드입니다. 이 코드를 노트북에 넣고 실행하면, 12시간마다 런타임이 자동으로 재시작되어 연결이 유지됩니다.

그러나 이 방법은 시스템이 불안정하게 동작할 수 있으며, 실행 중에 중단될 가능성이 있습니다. 따라서, 더욱 안정적인 방법으로는 구글 코랩에서 제공하는 유료 계정을 사용하는 것이 좋습니다. 유료 계정을 사용하면 더 많은 자원을 사용할 수 있고, 런타임 시간 제한이 없어집니다.

 

 

과연 GPT의 말대로 동작할지.. 한번 테스트 해보겠습니다. 

GPT랑 코랩에서 코딩 시작해봅시다.  

 

 

 

by. skyfishb

 

댓글