구글 코랩

구글 코랩Colab은 웹 브라우저에서 무료로 파이썬 프로그램을 테스트하고 저장할 수 있는 서비스이다. 심지어 머신러닝 프로그램도 만들 수 있다. 좀 더 있어 보이는 말로 표현하자면 클라우드 기반의 주피터 노트북 개발 환경이다. 머신러닝은 컴퓨터 사양이 중요한데, 구글 코랩을 사용하면 컴퓨터 성능과 상관없이 프로그램을 실습해 볼 수 있다.
구글 계정만 있다면 누구나 무료로 코랩을 사용할 수 있다. 코랩은 웹 브라우저에서 텍스트와 프로그램 코드를 자유롭게 작성할 수 있는 온라인 에디터라고 생각하면 쉽다. 이런 코랩 파일을 노트북 Notebook혹은 코랩 노트북이라고 부른다.
코랩은 구글이 대화식 프로그래밍 환경인 주피터 Jupyter를 커스터마이징한 것이다. 파이썬 지원으로 시작한 주피터 프로젝트는 최근에는 다른 언어도 지원한다. 주피터 프로젝트의 대표 제품이 바로 노트북 Notebook이다. 흔히 주피터 노트북이라고 부른다.
구글 코랩(Colab)은 클라우드 기반의 무료 Jupyter 노트북 개발 환경이다. 내부적으로는 코랩 + 구글드라이브 + 도커 + 리눅스 + 구글클라우드의 기술스택으로 이루어진 것으로 알려져있다.
코랩 노트북은 구글 클라우드의 가상 서버 Virtual Machine를 사용한다.

화면 오른쪽 상단에 있는 RAM, 디스크 아이콘에 마우스를 올리면 상세 정보를 알 수 있다. 코드를 실행하기 전이나 연결이 끊어진 상태에서는 아이콘 대신에 [연결] 버튼이 활성화 된다.
이 노트북은 구글 클라우드의 컴퓨트 엔진 Compute Engine에 연결되어 있다. 이 서버의 메모리는 약 12기가이고 디스크 공간은 100기가이다. 구글 계정만 있으면 코랩 노트북을 사용해 무료로 가상 서버를 활용 할 수 있다.
반면에 제한 사항도 있다. 코랩 노트북으로 동시에 사용할 수 있는 구글 클라우드의 가상 서버는 최대 5개 이다. 5개 이상의 노트북을 열어야 한다면 이미 실행 중인 노트북을 저장한 다음 클라우드와 연결을 끊어야 한다. 또한 1개의 노트북을 12시간 이상 실행할 수 없다.
코렙 - 새 노트북 만들기
파일 -> 새 노트 Click

새 노트북은 Untitled[숫자].ipynb 이름으로 만들어 진다. 노트북의 이름을 바꿔 보자. 마우스로 클릭하면 수정할 수 있도록 바뀐다. 코드 셀에는 'Hellow World'를 출력하는 print() 코드를 작성했다.

노트북은 자동으로 구글 드라이브 Google Drive의 [내 드라이브]-[Colab Notebooks] 폴더 아래 저장된다.
[파일]-[저장]을 선택해 수동으로 노트북을 저장할 수도 있다.

이렇게 저장된 노트북을 코랩으로 불러올 수 있다. 코랩 노트북화면에서 [파일]-[노트 열기]를 선택해서 저장했던 노트북을 코랩에서 열 수 있다.

지금까지 노트북을 만들고 저장하는 방법을 알아보았다. 코랩 노트북은 구글 드라이브에 보관되며 언제든지 다시 실행 할 수 있다.
참고
코랩 노트북이 5개 이상 실행 중이라면 실행 중인 웹 브라우저 창을 닫거나 [런타임]->[세션 관리] 메뉴를 선택하여 실행 중인 노트북을 종료할 수 있다.

리뷰 총평
아주 기본 메뉴얼이지만, 쉽다. 환경설정 및 구동 준비가 정말 빨리끝난다. 클라우드 기반으로 여러명이 동시에 수정이 가능하고, 인터넷 브라우저만 깔려있으면 언제 어디서든 접속하여 수정이 가능하다. 심지어 모바일에서도 수정 할 수 있다. 어지간한 개인 PC보다 성능이 좋고 빠르다. Git과의 연동이 용이하여, 여태 말한 장점으로 인해 학습 및 공유에 최고이다. Python 기반 특성 상 다들 노트북의 환경 맞추기 등에 시간을 낭비하기 마련인데 그럴 일이 없다.
지금은 AWS_ubuntu 주피터를 사용중인데, 위에 쓴 장점들로 인해 코랩도 곧 사용할 것 같기에 간단한 리뷰 총평을 남겨보았다.
Reference
- 책: 혼자 공부하는 머신러닝 + 딥러닝
- [Colab] Google Colab (코랩) 환경설정 및 사용법