구글 코랩 사용하기 (colab)
구글 코랩
구글 코랩(Google colab)은 내 현재 사양이 딥러닝(Deep Learning) 혹은 머신러닝(Machine Learning)을 돌리기 적합하지 않거나, 다양한 기기를 사용해서 통일된 환경으로 작업을 하고 싶거나, 실제 서비스에 적용해보기전에 테스트로 돌리기 용이한 환경입니다. 구글은 코랩이라는 GPU가 탑재된 클라우드 환경을 사용자에게 무료로 제공해주고, 사용자는 코랩에서 다양한 실험을 하면서 구글은 실험 데이터를 얻고 우리는 무료로 빠르게 딥러닝을 테스트 해볼 수 있습니다.
다만 코랩이 고급 환경을 계속 제공해주는 것은 아닙니다. 예를 들어 모델링 학습 시간이 하루가 넘어가는 것이라면 사용을 할 수 없기 때문에 사실상 본섭에 실행을 하기 전 맛보기 정도에 불과하다는 것을 인지해야 합니다. 그럼에도 불구하고 코렙을 사용하는 경우는 언제 어디서든 작업을 할 수 있기 때문이 큰 장점이며, 구글 드라이브와 연동이 되어 매우 쉽게 작업을 진행할 수 있기 때문입니다. 게다가 왠만한 환경은 이미 세팅이 되어 있는것도 큰 장점입니다.
코랩 시작하기
코랩을 사용하기 위해서는 아래의 링크에 들어가서 코랩에 방문을 합니다.
위 코랩을 들어가게 되면 아래와 같이 Welcome 화면이 나오게 되는데요. 화면은 사용자에 따라 달라질 수 있습니다.
저 같은 경우 colab을 이미 어느정도 사용을 했기 때문에 이 화면이 Default 화면일지 잘 모르겠네요. 아무튼 코랩에 들어간 후, File -> New notebook을 선택합니다.
여기까지 화면을 보면 알겠지만, 코랩은 주피터 노트북과 동일한 화면으로 되어 있기 때문에 누군가에게 소스를 설명하거나 중간중간 실험을 하기에 상당히 용이한 구성을 띄고 있습니다. 그래서 강의를 할 땐 코랩을 사용하는 것이 국룰화되어 있다 보시면 될 정도이죠.
new notebook을 선택하면 위와 같이 새로운 notebook 화면이 뜨고, Untitled1.ipynb라는 파일명이 되어 있을 것입니다. 이미 이 파일명이 존재한다면 넘버링은 다르게 나오겠죠.
코랩 테스트 해보기
우선 코랩이 정상적으로 작동이 되는지 확인하기 위해서 테스트로 아래와 같이 아무 코드를 입력해봅니다.
코드를 작성 한 후 왼쪽의 ▶ 버튼을 클릭하여 현재 구간을 실행시킵니다.
코드에 문제가 없을 경우 위와 같이 결과가 출력되며 왼쪽에 녹색의 체크 표시가 뜨게 됩니다.
만약 잘못된 코드를 입력하면 에러 표시가 뜨게 됩니다. 위 화면은 print를 prin으로 변경해서 실행을 해본 결과 에러가 뜨게 되며 버튼도 붉은색 그리고 녹색 체크 표시도 붉은색 느낌표 표시로 변경된 것을 확인할 수 있습니다.
pip 패키지 설치
코랩에서 다양한 패키지를 제공하더라도 내가 원하는 패키지가 없는 경우가 상당히 많습니다. 그럴땐 pip 명령어를 입력해서 패키지를 설치해야 합니다. 사용법은 아래와 같이 pip 앞에 느낌표를 표시해서 설치를 합니다.
!pip install [패키지명]
위 화면은 코랩에 제공하지 않고 있는 한국어 형태소 분석기 라이브러리인 konlpy를 설치한 화면입니다.
그리고 위와 같이 라이브러리를 설치하였다면, 코랩에서도 쉽게 사용을 할 수 있습니다.
GPU 런타임 사용하기
코랩에서는 GPU를 사용하기 위해서는 별도의 설정이 필요합니다.
우선 코랩의 메뉴에 있는 Runtime 메뉴를 선택하고, Change runtime type을 선택합니다.
그러면 위와 같이 하드웨어 엑셀레이터 설정 화면이 나옵니다.
그러면 원하는 하드웨어를 설정하면 됩니다. GPU를 설정할 수도 있고, TPU도 사용이 가능합니다. TPU의 경우 GPU와 달리 일반적으로 코드에서 설정을 추가해야 하므로 텐서플로나 케라스에 대해서 잘 모르시는 분들이라면 한동안은 GPU를 설정하는 것을 권유드립니다.
GPU 설정이 완료되면 위와 같이 Reload를 해달라는 창이 뜨며, Reload를 실행합니다.
리로드를 완료하면 위와 같이 GPU가 리소스에 포함이 되며, 이제 GPU를 사용할 수 있다는 것을 알 수 있습니다. 참고로 GPU의 경우 GPU를 지원하는 프레임워크(ex: 케라스, 텐서플로)라면 일반적으로 별도의 설정없이 알아서 GPU를 실행시킵니다.