7-5-1 단 1 시간이면 가능한 머신 러닝 초보자를 위한 구글 Colabo 노트북에의 초대
컴퓨터 코딩을 다루다 보면 흔하게 접하는 용어로서 Front end 와 Back end 가 있다. 컴퓨터 코딩에서 Front end 란 코드를 작성 수정 빌드 업로딩 저장 및 라이브러리 설치를 지원하기 위한 편집 시스템을 뜻한다. 간단한 예로서는 아두이노 IDE를 들 수 있을 것이다. 마찬가지로 머신 러닝을 위한 코드 편집 작업을 위해서는 이미 잘 알려진 툴이 있다. 너무나 잘 알려진 아나콘다를 비롯하여 여러 가지 툴이 있을 수 있다. 특히 아나콘다에는 Spyder 편집기와 Jupyter Notebook 이 대표적이다. 반면에 Back end 는 일종의 Solver를 뜻한다. TensorFlow, Keras, PyTorch 와 같은 라이브러리들이 머신 러닝을 위해 Front end에 설치되는 대표적인 Back end 로서 머신 러닝 코드를 실행 시키는데 필수적으로 사용된다.
파이선 언어를 기반으로 하는 머신 러닝 편집 및 빌드 과정에서 다음과 같이 라이브러리 모듈을 불러들일 때
import tensorflow as tf
import torch
∙∙∙
이 Back end 라이브러리들이 설치되어 있지 많으면 항상 아래와 같은 에러 메시지를 받게 된다.
No module named ∙∙∙
사실 아주 간단한 에러 메시지이지만 파이선 머신 러닝을 처음 시작해 보려는 초보자가 이런 메시지를 받게 되면 좌잘하게 되는 첫 번째 단계에 들어선 것이다. 사실 머신 러닝이 그다지 복잡한 이론이나 컴퓨터 코딩을 요하는 것은 아니지만 그래도 시작하려면 Front end 설치 과정에 관해서 세세히 알아야 할 필요가 있는 것이다. 필자도 이런 과정을 당연히 겪었고 그 결과 경험을 공유하기 위해 작업일지를 책으로 출간하기도 했다. 이 책의 1장이 아나콘다 스파이더와 쥬피터 노트북 설치이다. 머신 러닝을 깊게 연구해 볼 요량이라면 이 책의 첫 장을 겪어 보는 것이 지름길이라 할 것이다.
하지만 그 보다 더 준비가 안 된 초보자라면 지금 당장 코드를 돌려볼 수 있는 다른 대안이 필요할지도 모르겠다. 없는 것은 아니다. 물론 초보자들에게 간단히 소개 드리지만 사실 그 대안은 필자도 최근에 GPU 사용을 계기로 시작하게 된 기법으로서 Google 크롬에서 사용 가능한 Colabo 편집 시스템이다. 사용해 보니 놀랍게도 Jupyter Notebook 과 아주 유사하였다.
국내에서 상당히 많은 안드로이드 폰 사용자가 있기 때문에 구글 이메일 및 크롬 계정은 있으리라 본다. 로그인해서 보면 아래와 같이 본인이 사용하는 앱들이 즐비하게 나타나 있다. 구글에 로그인 되어 있는 상태에서 구글의 NDRIVE 속으로 들어가 보자.
NDIRIVE 속은 잡다한 사물들이 잔뜩 들어 있는데 + 연결할 앱 더보기를 선택 클릭하자.
드라이브 앱 연결이 뜨는데 엄청 많으므로 검색을 이용하도록 하자. “colaboatory”를 입력 검색한다.
Colaboratory 앱 아이콘이 뜨면 연결 버튼을 누르자.
연결 버튼 누른 후 기본 앱 설정 요구가 나오면 예스로 통과 후 평가하기 창이 뜨는데 끈 후 다시 앞으로 돌아가서 Colaboratory가 메뉴에 등록되었는지 살펴보고 있으면 클릭해서 시작하자.
대박! 클라우드형 쥬피터 노트북이 뜨는데 바로 코딩해서 실행시키면 될 것 같다.
아나콘다에서 실행되던 코드를 하나 복사하여 아래와 같이 셀 하나에 집어넣고 수정해서 실행해 보자. 필자도 여기까지 오는데 거의 2년 반 정도 소모했지만 오늘 시작하는 당신은 단 1시간이면 여기까지 도달 가능하리라 생각합니다.
한편 아나콘다에서는 텐서플로우와 PyTorch를 함께 불러 쓸 수 없지만 구글 Colabo 에서는 그런 문제도 없어진 듯하다. 즉 torch에 이어 tensorflow를 불러도 아무런 문제가 없으며 NumPy 와 Matplotlib를 부를 수 있으면 웬만한 파이선 머신 러닝 코딩 작업은 무난하다. 그밖에 필요한 라이브러리가 있다면 그 라이브러리 이름을 import 하면 될 것이다.