Visual Studio Code

[VSCode] Mac/Window VSCode와 Colab 연동, SSH

도도걸만단 2024. 11. 7. 05:33
반응형

실험을 하고싶은데, GPU가 없어서 colab에서 작업 또는 로컬에 연동하고 싶은 경우

VSCode와 Colab을 연동할 수 있다.

 

1. Cloudfare 설치하기

 

Cloudflare를 사용해서 ssh를 통해 vscode와 Colab을 연동해서 사용할 수 있다.

  • Windows 사용자는 아래 링크에서 다운로드

https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/

  • macOS 사용자는 brew 명령어로 설치
brew install cloudflare/cloudflare/cloudflared

2. Colab에서 준비


2-1) Colab에 새 ipynb 파일 만들기 → 런타임 유형 변경 → 하드웨어 가속기 → GPU

  • VSCode에서 Colab 연동 후 GPU를 사용하고 싶다면, 반드시 런타임 유형을 GPU로 바꿔야한다.

2-2) (선택)구글 드라이브 연결

  • 마운트 해야 런타임이 끊어질때마다 파일이 다 날아가지 않고 구글드라이브에 저장할 수 있다.

2-3) Colab에서 cloudflared 설치 및 연결

  • 다음 코드를 코랩에서 실행하면 아래와 같이 SSH주소가 뜬다.
  • launch_ssh_cloudflared로 ssh 터미널을 열어준다.
  • 이때, 비밀번호 password는 원하는 값으로 지정.
# Install colab_ssh on google colab 
!pip install colab_ssh --upgrade 

from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared 
launch_ssh_cloudflared(password="test")

해당 코드를 실행 후 우측 하단의 VSCode Remote SSH를 복사한다.

code이렇게 입력하면 우측하단 뜨는 주소 copy해놓는다.

 

이렇게 하면 colab 작업은 끝, VSCode로 갑시당


3. VSCode에서 SSH연결 준비

3-1) Remote - SSH 설치

  • remote-ssh는 Colab 뿐 아니라 각종 서버 저장공간에 연결하기 위한 도구입니다.

확장에서 검색해서 다운로드

3-2) Remote config 파일 수정

명령 팔레트 에서 Remote-SSH : Open configuration file을 실행한다.

명령 팔레트 여는 단축키
  • window : ctrl + shift + p
  • mac : command + shift + p

ssh config 파일을 설정해야 한다. 

/Users/{user name}/.ssh/config 선택한다.

해당 탭을 선택 시 config 창이 뜨는 데, 해당 창에 다음과 같은 코드를 추가.

Host *.trycloudflare.com
 HostName %h
 User root
 Port 22
 ProxyCommand <PUT_THE_ABSOLUTE_CLOUDFLARE_PATH_HERE> access ssh --hostname %h

이때 ProxyCommand에는 앞서 다운받은 Cloudfare 바이너리 파일 경로를 추가한다.

 

혹시나  Cloudfare 바이너리 파일 경로가 어딘지 모른다면?
터미널 명령어에 다음을 치면 경로를 뱉어줌.

which cloudflared

(base) (base) iminseon-ui-noteubug:cloudflare minsun$ which cloudflared
/opt/homebrew/bin/cloudflared

VSCode의 명령 팔레트를 열어 Remote-SSH: Connect to host를 클릭

 

새 SSH 호스트 추가 눌러서 Colab에서 복사했던 VSCode Remote SSH command를 붙여넣는다.

또는 아래 사진처럼 config에서 코드 복붙해줘도 된다.

위에 host, hostname~~ 뜨면 코드로 추가 잘 된것임

 

이렇게 하고 연결 누르면!!! 새로운 VSCode 창이 뜨면서 Colab에서 cloudflared를 설치할 때 입력한 비밀번호를 입력하면 된다. 

 

밑에 파랗게 이렇게 연결 뜨면 제대로 된 것

새로운 창 VSCode 터미널에 nvidia-smi 입력 시 GPU가 잘 할당된 걸 확인할 수 있다.

(만약, GPU가 할당되지 않았다면 아무런 내용도 뜨지 않는다.)


단점

  • 코랩 특성상 무료로는 실험이 안될듯.. 런타임이 계속 끊어져서 vscode를 쓸수가 없다. 계속 로드 실패가 뜬다.
  • colab에서 ssh 경로 생성한 뒤 계속 connect to host 링크 복붙 해줘야하는 번거로움이 있다. 한번 만들어둔거로 계속 못쓴다.

최소한 colab pro는 써야하는 것 같다. 

GPU가 없으니 너무너무 불편하다! 뭘 할 수가 없는듯

거지핑.

반응형