본문 바로가기

프로그래밍 강좌/파이썬 - OpenCV

[머신러닝/딥러닝] 구글 코랩 google colab colaboratory 설치 기초 사용법 초보자 환경설정 단축키 입문 tensorflow keras 학습 training T4

머신러닝(Machine Learning)과 딥러닝(Deep Learning) 첫 시간 입니다.

우리가 딥러닝 하면 먼저 떠올리는 것이 무엇인가요? 학습에 필요한 GPU겠죠? 비싼 GPU를 컴퓨터에 달아야 한다? 이거 금수저에나 어울리는 학문 아닌가? 대학 등록금 내기도 빠듯한데...

우리의 고민을 해결해 줄 솔루션이 있습니다. 바로 구글 코랩 입니다.

 

(1) 코랩은 무엇인가요?

구글 코랩은 Google Colaboratory 서비스의 줄임말 입니다. 웹 브라우저에서 별도 설치 없이 python 사용이 가능한 환경입니다. Jupyter Notebook(IPython)과 사용법이 같습니다.

https://blog.naver.com/dorergiverny/223125294039

 

[데이터 분석][Python] Jupyter Notebook 사용법 총정리(1) - 주피터 노트북 아나콘다 파이썬 기초

지난번에 아나콘다 설치 방법과 쥬피터 노트북 실행 방법에 대해 알아봤습니다. https://m.blog.naver.com/...

blog.naver.com

 

그럼 왜 쓸까요?

자신의 PC에 좋은 GPU가 없거나 클라우드에서 학습을 시켜놓고 나는 PC로 다른 게임을 할꺼야~! 하는 사람들에게 좋습니다.

 

코랩의 장단점에 대해 간단히 알아보겠습니다.

[장점]

1. 무료로 어디에서나 인터넷만 되면 접속하여 사용할 수 있습니다.(클라우드 기반)

2. 환경 설정/구동 준비가 쉽습니다. 많은 라이브러리를 설치할 필요가 없습니다. python, tensorflow, keras, matplotlib, scikit-learn, pandas와 같은 라이브러리가 설치되어 있습니다.

3. GPU 사용으로 성능이 좋고 빠릅니다. 딥러닝 학습하는 동안 나는 내 PC로 다른 일을 할 수 있습니다.

4. 학습 및 공유가 쉽습니다. Jupyter Notebook의 장점인 바로 바로 결과를 볼 수 있다는 장점이 있으므로 학습(공부)할 때 그리고 클라우드 기반이므로 공유가 쉽습니다. 그리고 Git 연동이 쉬워 협업으로 코딩이 가능합니다.

5. 오류 발생 시 [SEARCH STACK OVERFLOW] 버튼 클릭하면 자동으로 오버플로우 사이트 검색 결과를 볼 수 있습니다.

 

그럼 무료인데 장점만 있을까요?

[단점]

1. 최대 세션 유지시간은 12시간 입니다. 아무짓도 안하거나 12시간이 지나면 자동으로 세션이 끊깁니다. 즉 작업중이던 데이터가 날아갈 수 있습니다. 하지만 구글 드라이브에 저장할 수 있으니 데이터나 소스 코드를 저장하는 것 잊지 마세요~!

2. 몇몇 회사 같은 곳에서 클라우드에 파일을 올리는 것이 제한된 환경에서는 활용이 제한됩니다.

 

(2) 코랩 사용하기

colab을 사용하기 위해서는 구글 계정이 있어야 합니다. 구글 계정이 없으신 분들은 구글 계정을 만드셔야 합니다.

 

a) 코랩 사이트 접속하기

colab은 구글에서 만든 것이기 때문에 크롬으로 접속하는 것이 좋습니다. 크롬의 주소 창에 아래의 주소를 복사/붙여넣기를 해주세요. (클릭하셔도 됩니다)

https://colab.research.google.com/

 

Google Colaboratory

 

colab.research.google.com

 

코드 아래에 코드 셀 삽입 Ctrl+M B 텍스트 텍스트 셀 추가 Drive로 복사 헤더 공개 상태 전환 Colab 시작 페이지 Colab에 이미 익숙하다면 이 동영상을 통해 양방향 테이블, 코드 실행 기록 보기, 명령어 팔레트에 관해 알아보세요. Colab이란? Colaboratory(줄여서 'Colab'이라고 함)을 통해 브라우저 내에서 Python 스크립트를 작성하고 실행할 수 있습니다. 구성이 필요하지 않음 무료로 GPU 사용 간편한 공유 학생 이든, 데이터 과학자 든, AI 연구원 이든 Colab으로 업무를 더욱 간편하게 ...

colab.research.google.com

그럼 아래와 같은 화면이 뜨게 됩니다. 뭔가 하려고 하면 구글에 로그인하라고 하네요.

구글 로그인을 합니다. 로그인을 하면 아래와 같이 Google Drive, GitHub 등 정보가 나오고, 최근 사용한 내역이 나옵니다. 시작하시려면 아래의 새노트를 누르시면 됩니다.

로그인만 하시면 아래와 같이 colab을 사용하실 수 있습니다.

b) 구글 드라이브 연결해서 사용하기

www.google.co.kr 에서 로그인을 하시면 오른쪽 상단에 아래와 같은 9개의 점이 있습니다. 이 점을 클릭하시면 구글 드라이브에 연결이 가능합니다.

구글 드라이브에서 새로만들기를 클릭합니다.

새폴더를 만드셔서 내 colab 공간을 생성하셔도 되고 아니면 자동으로 생기는 Colab Notebooks 폴더를 이용하셔도 됩니다.

원하시는 폴더로 이동하신 후 +새로만들기를 클릭하셔서

더보기>>Google Colaboratory 를 클릭합니다.

그럼 위(a)에서 직접 코랩에 접속한 것처럼 코랩에 접속됩니다.

c) 환경설정하기

위의 두가지 방법 중 하나의 방법으로 colab notebook을 여셨다면 .ipynb 확장자의 주피터 노트북 파일이 열렸습니다.

도구 >> 설정에 들어갑니다.

아래와 같은 설정 창이 뜨는데, 테마를 원하시는대로 바꾸시면 되고, 저장할 때 출력을 생략하고 싶으시면 체크박스를 체크해 줍니다.

편집기 탭에 가셔서 글꼴 크기, 들여쓰기 등의 세팅도 본인이 원하시는대로 세팅하시면 됩니다.

세팅을 하신 후 저장을 하시면 적용이 됩니다. dark 모드로 바꿔봤습니다.

여기에 재미있는 기능도 있습니다. 파워레벨을 선택 시 코딩마다 불꽃이 튀기는 재미도 있고, 코딩하다가 지칠 때 고양이들이 위에 튀어나와 힘을 낼 수 있도록 해주기도 합니다.

상단메뉴의 런타임 >> 런타임 유형 변경을 클릭 합니다.

GPU와 TPU까지 사용할 수 있습니다. 저는 TPU는 사용할 필요가 없어서 T4 GPU를 선택하였습니다.

d) 서버 사양 확인하기

텐서플로우에서 GPU 사용 가능 여부를 확인해보겠습니다. 아래와 같이 Tesla T4 GPU를 사용할 수 있는 것으로 나옵니다.

from tensorflow.python.client import device_lib
device_lib.list_local_devices()
 

플랫폼은 리눅스입니다.

import platform
platform.platform()
 

우리가 터미널에서 사용하는 명령어를 주피터 노트북에서 사용하려면 앞에 ! 를 붙여줘야 합니다. 아래와 같은 명령어들로 사양을 보겠습니다.

!cat /etc/issue.net
!cat /proc/meminfo
!cat /proc/cpuinfo
!df -h
!nvidia-smi
!python --version
 

우분투 22.04가 깔려있고, 메모리 용량은 아래와 같습니다.

CPU는 Intel(R) Xeon(R) CPU @ 2.3GHz (Dual-core) 입니다.

파일시스템 용량은 아래와 같습니다.

GPU 정보를 보면 아래와 같습니다. Driver Version 525.105.17 이고 CUDA Version은 12.0 이네요. GPU 모델명은 Tesla T4 이고 아직 사용하지 않아서 그런지 Performance는 P0로 매우 좋은 상태입니다. GPU 메모리는 16GB 인 것 같네요. 이정도면 웬만한 PC만큼의 성능을 낼 수 있는 spec. 이니 Colab 사용할만 합니다.

파이썬 버전은 3.10.12 가 설치되어 있습니다.

colab notebook 사용 방법은 jupyter notebook 사용 방법과 동일합니다.

 
명령어
설명
Ctrl + Enter
선택된 셀 실행
Shift + Enter
선택된 셀 실행 후 다음 셀로 이동
ESC
command 모드로 변환
Ctrl + M+M
마크다운으로 변환
Ctrl + M+Y
코드로 전환
Ctrl + s
저장
Ctrl + M + L
코드셀에 라인넘버 부여
Ctrl + M + A
바로 윗줄에 셀 생성
Ctrl + M + B
바로 아랫줄에 셀 생성
Ctrl + M + D
셀 삭제
Shift +M (Shift 누른 상태에서 병합 원하는 셀 선택 후)
셀 병합
Ctrl + Shift + - (분기를 원하는 부분에 커서를 지정 후)
셀 분할
Ctrl + M + I
코드 오래동안 실행되어 멈추고 싶은 경우
Ctrl + M + .
위 코드로 멈추지 않고 작업 완전 종료하고 싶은 경우

 

colab 우상단에 보면 RAM과 디스크 표시가 나타납니다. 여기에 마우스를 가져다 대면 아래와 같이 상세 정보를 볼 수 있습니다.

이 노트북은 구글 클라우드 컴퓨트 엔진 (Compute Engine)에 연결되어 있습니다. 이 서버의 메모리가 약 12GB 이고 디스크 공간은 80GB 정도 있습니다. 구글 계정만 있으면 코랩 노트북을 사용해 딥러닝을 학습시킬 수 있다는게 참 놀랍습니다.

 

e) 파일 이름 수정/저장하기

colab 상단에 보면 Untitled1.ipynb 가 있는데 이게 바로 파일 이름입니다. 여기를 마우스로 클릭하시면

파일 이름을 바꿔서 저장하실 수 있습니다.

파일은 내 구글 드라이브에 아래와 같이 저장됨을 알 수 있습니다.

 

f) CPU와 GPU 속도 차이 확인

CPU와 GPU 속도 차이를 확인해보겠습니다.

TensorFlow 샘플 CNN(keras)의 성능 측정 소스 입니다.

GPU가 CPU 보다 47배나 빠르네요.