Updated:

VSCode

개발자(가 되고 싶은 사람이)라면 선호하는 개발 툴이나 환경이 하나쯤은 있을 것이다. 나의 경우엔 VSC(Visual Studio Code)를 주로 사용한다. 그 이유는 아래와 같다.

  • Window, Ubuntu 등 OS를 가리지 않는 범용성

  • C++, Python 등 프로그래밍 언어 뿐 아니라 Markdown등을 지원하는 가독성

  • 다양한 Extension

  • Git과의 간편한 연동

이와 같은 이유들로 나는 웬만하면 OS를 가리지 VSC를 사용한다.

너도 써. 두번 써

vsc

Colab

Deep learning을 공부한다거나 간단한 python 코드 테스트를 한다거나 할때 Colab을 많이 사용한다. 구글의 값비싼 GPU를 인터넷만 있다면 마음대로 쓸 수 있다는건 Colab만의 완벽한 강점이라고 할 수 있을 것이다. 이거 좋은데? 라는 생각이 들때쯤 돈 달라고 하는게 단점이다. 물론 무료 버전에선 사용량에 제한이 걸려있긴 하지만 학부생 입장에서 생각해보자면 이틀, 삼일 내내 학습만 돌리고 있을건 아니기 때문에 충분하다고 생각한다.

colab

Colab in VSC

VSC와 Colab 모두 강력한 툴이지만 욕심이 많은 천재들은 VSC에서 Colab을 사용할 수 있는 법을 만들어놨다. 실로 편하지 않을 수 없다.

VSC에서 Colab을 사용하기 위해서는 Colab과 VSC 양쪽에 작업을 해야한다.


1. Colab에서 Remote SSH 주소 받아오기

Colab에서 새 노트를 열고, 먼저 런타임 유형 변경을 클릭해 런타임 유형을 GPU로 설정하자. Colab을 사용하는 이유 중 90은 원격 GPU를 사용하고자 하는 것일 텐데 런타임 유형을 GPU로 변경하지 않는다면 local과 크게 다를 것이 없을 것이다.

colab0 runtime_GPU

이제 아래 명령어를 사용해 VSC에서 접속할 원격 주소를 받아온다.

!pip install colab_ssh --upgrade 

from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared
launch_ssh_cloudflared(password="1234")     # Set your password

이때 비밀번호는 추후에 VSC에서 원격으로 접속할 때 입력할 예정이니 적당히 어렵지 않은 것으로 정하길 권장한다.

Colab shell 단위 실행: Shift + Enter 또는 Ctrl + Enter

위 스크립트를 실행시키면 다음과 같이 원격으로 접속할 수 있게 해주는 주소가 보일 것이다. 우측 아래의 VSCode Remote SSH의 주소를 복사해두면 된다.

colab1

이제 Colab에서의 설정은 끝이다. 위의 주소를 잘 간직해두자.

2. Cloudfare 설치하기

이게 머지. 나도 모르겟다 일단 설치하래서 함.

여기서 본인 OS에 맞는 버전으로 다운받아준다. 나는 Window에서 사용할 예정이라 Window 64bit 용으로 받아왔다. 아직 32bit Window를 쓰는 사람이 있을까 싶다. Download 버튼을 눌러 다운받아준다.

cloudflared

cloudflared1

위 파일을 본인 원하는 위치로 옮겨준다. 그리고 편의를 위해 나는 이름을 cloudflared로 바꿔줬다. (뒤에 꽁무니 자름) 그리고 파일을 실행시켜보면 아래와 같이 config.yml 파일이 생성될 것이다.

cloudflared2

해당 위치를 잘 기억해두자.

3. VSC에서 마지막 setting

원격 SSH로 접속하기 위해서 extension을 하나 설치해야 한다. VSC 좌측의 Extension을 클릭한 후 Remote SSH를 검색해서 설치해준다.

vsc1

VSC 명령창 실행: Ctrl + Shift + P

설치가 끝나면 명령창을 열어 Remote SSH: Open SSH Configuration File을 찾아 선택한다. 그럼 아래와 같은 옵션이 뜰텐데 여기서 C:\User\사용자이름.ssh\config를 선택한다.

vsc2 vsc3

그럼 아래와 같은 config 파일을 확인할 수 있을 것이다. 이제 이 내용을 바꿔줘야 한다. 원래 있던 내용을 모두 주석 처리하고 아래 내용을 붙여넣는다.

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

PUT_THE_ABSOLUTE_CLOUDFLARE_PATH_HERE 에는 아까 설치한 Cloudflared의 절대 경로를 넣어주면 된다.

vsc4 vsc5

이제 준비는 다 끝났다.

4.VSC에서 Colab에 접근하기

vsc6

위 창에서 다시 VSC 명령창(Ctrl + Shift + P)을 열어준다. 그리고 Remote SSH: Connect to Host를 클릭하면 호스트 주소를 입력할 수 있는 주소창이 뜰 것이다. 여기에 아까 Colab에서 얻었던 원격 주소를 입력하고 Enter를 눌러준다.

vsc7

그럼 새로운 VSC 창이 하나 뜰 것이다. 그리고 금방 명령창이 뜰텐데 여기서 만약 OS를 묻는다면 Linux를 선택해야 한다. 그 다음엔 지금까지 문제가 없이 진행됐다면 원격 주소로 접근하기 위해 비밀번호를 물어볼 것이다. Colab에서 원격 주소를 생성할 때 설정한 비밀번호를 입력하고 Enter를 눌렀을 때 별다른 에러가 뜨지 않는다면 성공한 것이다. 이제 좌측 하단의 초록색 박스에 Colab에서 생성한 원격 주소가 있는 것을 확인할 수 있다.

vsc8

5. File directory 찾아가기

vsc9

좌측 제일 상단의 탐색기를 누르고 폴더 열기를 누르면 위 그림과 같이 Colab의 파일 탐색이 가능할 것이다. 드라이브 내의 폴더 (구글 드라이브를 마운트 했다면)뿐 아니라 사용자가 사용하는 파일들은 /content/ 아래에 위치한다. 주소창에서 root를 지우고 content를 입력하면 drive, sample_data 등의 폴더를 확인할 수 있을 것이다.

구글 드라이브를 마운트한 상태라면 드라이브 위치는 /content/drive/MyDrive/ 이다. 해당 위치로 이동하면 곧 드라이브에 있는 파일들을 확인할 수 있을 것이다.

vsc10

Colab GPU 확인하기

Colab에 연결된 VSC에서 터미널을 열어 nvidia-smi를 입력하면 현재 연결된 원격 GPU에 대한 정보를 확인할 수 있다.

VSC 터미널 열기: Ctrl + `

` <- 작은 따옴표 아님. 키보드 좌측 상단에 있는 어퍼스트로피(물결)!

vsc11

Comments