실험을 하고싶은데, 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를 복사한다.
이렇게 하면 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에서 코드 복붙해줘도 된다.
이렇게 하고 연결 누르면!!! 새로운 VSCode 창이 뜨면서 Colab에서 cloudflared를 설치할 때 입력한 비밀번호를 입력하면 된다.
새로운 창 VSCode 터미널에 nvidia-smi 입력 시 GPU가 잘 할당된 걸 확인할 수 있다.
(만약, GPU가 할당되지 않았다면 아무런 내용도 뜨지 않는다.)
단점
- 코랩 특성상 무료로는 실험이 안될듯.. 런타임이 계속 끊어져서 vscode를 쓸수가 없다. 계속 로드 실패가 뜬다.
- colab에서 ssh 경로 생성한 뒤 계속 connect to host 링크 복붙 해줘야하는 번거로움이 있다. 한번 만들어둔거로 계속 못쓴다.
최소한 colab pro는 써야하는 것 같다.
GPU가 없으니 너무너무 불편하다! 뭘 할 수가 없는듯
거지핑.
'Visual Studio Code' 카테고리의 다른 글
[Vscode] Git clone 쉽게 하는 법 (0) | 2024.06.21 |
---|---|
[VsCode] VsCode 코드, 출력창 자동줄바꿈 하는 법 / 줄번호 표시하는법 (1) | 2023.01.28 |