[Tip] 로컬에서 Colab 사용하기 (in VSCode)

2022.02.27 17:00 15,906 조회

안녕하세요!

오늘은 로컬에서 Colab을 사용할 수 있는 방법을 준비했습니다.

정확히 말하자면 VSCode라는 에디터에서 Colab을 연결해서 사용하는 방법입니다.


본 포스팅은 Mac M1 기준으로 작성하였습니다.



1.VSCode(Visual Studio Code)란?

비주얼 스튜디오 코드는 마이크로소프트에서 오픈소스로 개발하고 있는 소스 코드 에디터로,

맥/리눅스/윈도우 등 메이저 운영체제를 모두 지원하고 있습니다.


다양한 언어를 서포트 하며, IntelliSense와 Git 기능 그리고 Extension을 이용한 확장 기능을 제공하는 것이 특징입니다.


2.VSCode 설치 방법



https://code.visualstudio.com/ 에 접속하여 다운로드 후 설치할 수 있습니다.

파일 설치 경로는 이후 단계에서도 사용되니 꼭 기억해주세요!



해당 화면은 제가 실제로 사용 중인 VSCode 화면이며,

좌측 사이드바를 보시면 순서대로 1. 탐색기 2. Search 3. Git 4. Debug 5. Extension 기능의 버튼입니다.


3.VSCode에서 Colab 사용하기

Vscode에서 Colab을 사용할 때, 가장 큰 장점은 Colab의 GPU를 사용할 수 있다는 점입니다.

또한, Colab 뿐만아니라 구글 드라이브에도 접근할 수 있다는 점 역시 하나의 특징입니다.


그렇다면 어떻게 VSCode에서 Colab을 사용할 수 있을까요?


3-1. Cloudfare 바이너리 파일 설치

우선 developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup로부터

Cloudfare 바이너리 파일을 설치해야 합니다.


Mac의 경우 brew command를 통해서도 설치할 수 있습니다.

brew install cloudflare/cloudflare/cloudflared



[Colab]

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

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


3-3. (optional) 구글 드라이브 연결


3-4. Colab에서 cloudflared 설치 및 연결

이때, 비밀번호는 원하는 값으로 지정해주시면 됩니다.


# 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를 복사합니다.



Colab에서 해야할 작업은 모두 끝났습니다. 이제 VSCode로 넘어가보겠습니다.


[VSCode]

3-5. VSCode에서 remote ssh extention 설치


우선 좌측 사이드 바에서 5번째 기능인 Extenstion에서 remote ssh extenstion을 설치해야합니다.

해당 탭에서 “remote ssh extenstion”을 검색 후 설치하면 됩니다.

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


3-6. remote config 파일 수정

우선 명령 팔레트를 열어 Remote-SSH : Open configuration file을 실행합니다.



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


이후 /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 %


이때 ProxyCommand에는 앞서 다운받은 Cloudfare 바이너리 파일 경로를 추가해주면 됩니다.


3-7. Remote-SSH를 통해 VSCode와 Colab 연동하기

우선 VSCode의 명령 팔레트를 열어 Remote-SSH: Connect to host를 클릭합니다.


이후, Colab에서 복사했던 VSCode Remote SSH command를 붙여넣습니다.



앞선 과정이 잘 이루어졌다면, 새로운 VSCode 창이 뜨게 됩니다.

Colab에서 cloudflared를 설치할 때 입력한 비밀번호를 입력합니다. 



비밀번호를 잘 입력했다면, Colab에 잘 연동된 것을 확인할 수 있습니다!



또한, VSCode 터미널에 nvidia-smi 입력 시 GPU가 잘 할당된 걸 확인할 수 있습니다. 

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



  • 아직 배우는 입장으로 부족한 점이 많습니다. 수정해야하거나, 추가해야할 점이 있다면 댓글로 조언 부탁드립니다.
  • 본 게시글은 데이콘 서포터즈 ‘데이크루’ 1기 활동의 일환입니다


로그인이 필요합니다
0 / 1000
동화책
2022.02.27 20:22

오 정말 좋은 꿀팁이네요! 정보 공유 감사합니다 😊

yoonj
2022.02.27 22:51

감사합니다! :)

j8n17
2022.06.17 11:03

안녕하세요! 글 잘읽었습니다. 혹시 이렇게 사용했을 때 항상 시작할때마다 코랩을 먼저 키고 VSC를 켜야 하나요? 아니면 바로 VSC에서 접속할 수 있나요? 
그리고 또 tmux를 사용해 학습을 진행한다면 세션이 종료되지 읺고 계속 학습이 되나요?

이대권
2022.06.22 07:05

바로 활용해 보겠습니다. 감사합니다.~

코봉이누구냐
2022.07.16 00:43

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

%뒤에 h가 빠져있어서 댓글 남깁니다!

좋은 글 감사합니다!

Mather
2022.09.25 06:50

👏🏼👏🏼

Eunseongchoi
2023.05.27 19:31

유익한 내용 감사합니다 혹시 테마는 무슨 테마인지 알 수 있을까요? 너무 예뻐서요!

띠로리
2023.05.31 08:32

vscode 테마 알려주실 수 있으신가요?

2인칭
2023.10.05 06:15

could not establish connection to "host"
라는 오류 메시지가 뜨는데 혹시 이런 경우 있으셨나요?

수미나
2023.10.25 12:33


대학 시절부터 VSCode를 사용해온데요. 공유해주셔서 감사합니다! VSCode의 좋은 점 중 하나는 GitHub와 직접 연결할 수 있다는 것이에요.