구글 Colab 서버를 로컬에서 사용하기

이재하·2021년 7월 24일
10

목차
1. Hello, World !
2. 준비물
2-1. Google 계정
2-2. Ngrok
2-3. IDE
3. 사용방법
3-1. Colab에서 ngrok 외부 호스팅 (서버) 실행
3-2. Ngrok에 접속해 Colab에 토큰 넣기
3-3. 연결방법
3-3(1). ColabCode
3-3(2). Colab-SSH
4. 마무리 인사

Hello, World !

안녕하세요. 필자는 인공지능을 공부하는 학생입니다.
보통 인공지능을 공부하시는 분들은 비싼 개인 서버대신 구글에서 지원해주는 Colab 노트북을 사용하실 겁니다.
저는 문득 이 Colab을 개인 서버로 사용하고 싶어 구글링 후 여러분들께 공유하고자 합니다.
앞서 이 글은 유튜버 테디노트님의 "Colab의 고성능 GPU를 로컬 PC에서 사용하는 방법!" 영상을 정리한 것임을 밝힙니다.

준비물

우리는 로컬에 구축하기 전 몇가지 준비물이 필요합니다.

1. Google 계정


구글 Colab은 구글에서 제공하는 클라우드 기반의 무료 Jupyter 서버입니다.
구글에서 배포하기 때문에 구글 드라이브 + 리눅스의 스택으로 구성되어 있습니다.
우리는 Colab 서버를 사용할 것이기 때문에 구글 계정이 꼭 필요합니다.
Colab의 장점으로는 다음과 같습니다.

  • 무료
  • 환경 설정 딱히 할게 없다.
  • 와이파이만 있으면 언제라도 어디에서라도 할 수 있다.
  • 가장 큰 이유는 GPU를 지원한다. (성능이 좋고 빠르다.)

2. Ngrok


Ngrok 사이트의 설명은 다음과 같습니다.
1. Public URLs for building webhook integrations
2. Public URLs for sending previews to clients
3. Public URLs for exposing your local web server
4. Public URLs for SSH access to your Raspberry Pi
쉽게 말해, 내 라즈베리파이를 마치 외부서버처럼 쓸 수 있다는 말입니다.
로컬 서버를 임의의 url을 통해 외부에 노출 시키는 역할을 합니다.
즉, 로컬 컴퓨터를 외부에서 접속할 수 있도록 합니다.

3. IDE

이제 로컬에서 사용할 일만 남았습니다.
Python IDE는 크게 VS CodePycharm이 있습니다.

필자는 Pycharm으로 진행하겠지만, VS Code로 진행 할 사람은 여기를 클릭하시면 되겠습니다.

사용방법

1. Colab에서 ngrok 외부 호스팅 (서버) 실행

// 단, 코랩 환경설정을 None에서 GPU로 변경

2. Ngrok에 접속해 Colab에 토큰 넣기

ngrok.com에 접속하여 토큰을 복사하여 Colab NGROK_TOKEN 변수에 저장합니다.

!nvidia-smi는 GPU가 어느것이 설정 되었는지 알 수 있고, Cuda 버전도 확인 할 수 있습니다.

연결방법

1. ColabCode

Code Server can be accessed on: NgrokTunnel:

옆에 있는 링크를 클릭하면 비밀번호를 입력하는 창이 나옵니다.

비밀번호를 입력하고 나면 아래와 같은 VS Code 창이 온라인에서 열립니다.
일반 VS Code와 다를게 없이 테마도 적용가능하며 모든 단축어 또한 동일하게 작동합니다.

그러나 Colab Code는 내 로컬 시스템이 아닌 Colab을 VS Code를 사용하는 것이기 때문에 내 로컬에 설치된 IDE를 활용하고 싶으신 분은 두번째 방법을 이용하시면 됩니다.

2. Colab-SSH


우리는 여기서 HostName, User, Port 를 잘 기억해 둡시다.
이제부터 우리는 IDE에 적용을 하겠습니다.
앞서 저는 Pycharm으로 진행한다 말씀드렸습니다.
VS Code 사용하실 분들은 테디노트님 영상 링크를 인삿말에 걸어두었습니다.
저는 맥북 유저라 맥 기준으로 설명을 드립니다. 윈도우도 똑같이 환경설정에서 진행하시면 됩니다.

환경설정 → Project: → Python Interpreter → Show All → 추가 버튼 클릭

SSH Interpreter에서 아까 Colab에서 나온 HostName, User, Port 를 적어줍니다.

Yes 클릭 후 Password까지 적어줍니다.

Interpreter 위치를 아래와 같이 변경해줍니다.

/usr/bin/python3

Finish까지 클릭해주시면 접속이 완료 되었습니다.
(까먹고 Finish 부분을 캡처를 못했습니다.. ㅎㅎ)
아래 사진과 같이 Python Interpreter가 Python 3 버전으로 되어있으면 성공입니다.

SSH를 터미널에서 사용하고 싶으시면 Tools → Start SSH sessio 에서 코랩 서버를 클릭하시면 확인 하실 수 있습니다.

아래 코드는 pytorch에서 cuda를 실행 가능한 여부를 묻는 코드입니다.
실행결과는 True! 성공입니다 :D

마무리 인사

좀 구글링을 해보니 VS Code로 하는 글은 꽤 있었는데 Pycharm 환경은 없어서 제가 삽질하면서 한 결과입니다😂
완벽하진 않더라도 긴글 읽어주셔서 감사합니다.
🐳 CV-JaeHa Github 팔로우는 감사합니다 !

profile
04년생 MLOps Engineer | linktr.ee/taki0412

4개의 댓글

comment-user-thumbnail
2021년 10월 5일

큰 도움이 됐어요! 감사합니다~

1개의 답글
comment-user-thumbnail
2022년 5월 10일

좋은 글 감사합니다.

1개의 답글