다운로드
작성자: admin 작성일시: 2018-11-28 16:04:51 조회수: 23888 다운로드: 279
카테고리: 기타 태그목록:

1.1 구글 코랩 사용법

구글 colaboratory 서비스, 줄여서 코랩(colab)이라고 부르는 웹 서비스는 주피터 노트북을 구글 서버에서 가동시키고 사용자가 마음대로 사용할 수 있도록 무료로 제공한다. 이 서비스를 이용하려면 구글 지메일(gmail) 계정을 가지고 있어야 한다. 지메일 계정이 있다면 다음과 같이 코랩을 사용할 수 있다.

코랩 노트북은 다음과 같은 장점이 있다.

  1. 별도의 파이썬 설치 없이 웹 브라우저 만을 이용해 주피터 노트북과 같은 작업을 할 수 있다.
  2. 다른 사용자들과 공유가 쉬워 연구 및 교육용으로 많이 사용된다.
  3. Tensorflow, keras, matplotlib, scikit-learn, pandas 등 데이터 분석에 많이 사용되는 패키지들이 미리 설치되어 있다.
  4. 무료로 GPU를 사용할 수 있다.
  5. 구글 독스나 구글 스프레드시트 등과 같은 식으로 공유와 편집이 가능하다. 만약 두 명 이상의 사람이 동시에 같은 파일을 수정 하더라도 변경사항이 모든 사람에게 즉시 표시된다.

구글 코랩 시작하기

구글 코랩을 사용하려면 지메일 계정이 필요하다. 지메일 계정이 있으면 로그인을 하고 지메일 계정이 없다면 다음 웹사이트에서 지메일을 만든 다음에 로그인한다.

로그인을 한 후에는 웹 브라우저를 열고 다음 웹 페이지 주소로 접속한다.

그러면 다음 그림과 같은 시작 페이지가 나온다.

그림 : 코랩 환영 페이지

메뉴에서 ‘파일’ > ‘새 Python 3 노트’ 명령을 선택하거나 다이얼로그 아래의 "새 PYTHON 3 노트" 버튼을 누르면 다음 그림처럼 새 노트북을 사용할 수 있다. 사용법은 주피터 노트북과 같다.

그림 : 새 코랩 노트북

앞으로 나올 코드 예제를 실행할 때 주피터 노트북과 구글 코랩 중에서 아무거나 사용해도 된다.

환경 살펴보기

운영체제나 하드웨어 그리고 설치된 파이썬 사양은 다음처럼 확인할 수 있다.

In [1]:
# OS
!cat /etc/issue.net
Ubuntu 18.04.2 LTS
In [2]:
# CPU 사양
!head /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 79
model name	: Intel(R) Xeon(R) CPU @ 2.20GHz
stepping	: 0
microcode	: 0x1
cpu MHz		: 2200.000
cache size	: 56320 KB
physical id	: 0
In [3]:
# 메모리 사양
!head -n 3 /proc/meminfo
MemTotal:       13335268 kB
MemFree:         5890096 kB
MemAvailable:   12495328 kB
In [4]:
# 디스크 사양
!df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay         359G   32G  309G  10% /
tmpfs           6.4G     0  6.4G   0% /dev
tmpfs           6.4G     0  6.4G   0% /sys/fs/cgroup
/dev/sda1       365G   39G  327G  11% /opt/bin
tmpfs           6.4G   12K  6.4G   1% /var/colab
shm             6.0G  8.0K  6.0G   1% /dev/shm
tmpfs           6.4G     0  6.4G   0% /sys/firmware
drive           202G  107G   96G  53% /content/drive
In [5]:
!python --version
Python 3.6.8

GPU 사용하기

Colab에서 GPU를 사용하기 위해서는 런타임 유형을 변경해야 한다. Colab 화면 상단의 툴바에서 "런타임" > "런타임 유형 변경" > "하드웨어 가속기" 설정을 None 에서 GPU로 변경한다. (TPU로도 변경이 가능하다.)

그림 : 코랩 런타임 유형 설정

런타임 유형을 GPU로 변경한 이후에는 !nvidia-smi 명령어로 GPU 사양을 확인 할 수 있다.

In [6]:
!nvidia-smi
Sat Jun 29 08:29:21 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 410.79       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   35C    P8    15W /  70W |      0MiB / 15079MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
그림 : 코랩 환영 페이지

구글 드라이브 연동

콜랩에 구글드라이브를 연결하면 구글 드라이브에서 데이터 파일을 열거나 저장할 수도 있다. 코랩을 실행 중인 상태에서 다음 코드를 실행하면 구글 드라이브를 /content/drive/라는 이름으로 드라이브로 코랩에 마운트(mount)시킨다.

In [7]:
from google.colab import drive
drive.mount('/content/drive')
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).

이미 연결된 상태이면 위와 같은 결과가 나오지만 만약 처음 연결하는 경우라면 다음 그림과 같이 구글 드라이브의 권한을 요청한다.

알려주는 URL 링크를 클릭하여 구글에 로그인하면 비밀키 문자열을 알려준다.

그림 : 구글 드라이브 연결

이 비밀키 문자열을 복사하여 코랩에 있는 네모 입력칸에 붙여넣으면 구들 드라이브와 연결된다.

연결되면 다음과 같이 배시 셸 명령어로 폴더를 확인할 수 있다.

In [8]:
!ls '/content/drive/'
'My Drive'

이 드라이브에는 구글 드라이브가 My Drive라는 이름의 폴더로 마운트되어 있다. 시험삼아 이 폴더 아래에 test_colab이라는 폴더를 만들자.

In [9]:
!mkdir -p '/content/drive/My Drive/test_colab'
!ls -Fcal '/content/drive/My Drive/test_colab'
total 0

폴더가 만들어졌으면 다음 코드로 이 테스트 폴더 안에 df.csv 라는 이름의 데이터 파일을 만들어 보자

In [0]:
import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(10, 5))
df.to_csv("/content/drive/My Drive/test_colab/df.csv")

데이터 파일이 만들어진 것을 확인할 수 있다. 확인이 끝나면 필요없는 데이터 파일은 지운다.

In [11]:
!ls -Fcal '/content/drive/My Drive/test_colab'
total 1
-rw------- 1 root root 992 Jun 29 08:29 df.csv
In [12]:
pd.read_csv("/content/drive/My Drive/test_colab/df.csv")
Out:
Unnamed: 0 0 1 2 3 4
0 0 0.322282 0.397431 0.587742 0.970604 0.565236
1 1 0.577170 0.898776 0.900009 0.253049 0.374370
2 2 0.349012 0.432628 0.967889 0.057433 0.165137
3 3 0.145196 0.117466 0.053451 0.459595 0.902918
4 4 0.335423 0.759604 0.834097 0.802685 0.515207
5 5 0.592335 0.715615 0.150897 0.399311 0.593562
6 6 0.487657 0.697127 0.534957 0.421989 0.718519
7 7 0.820417 0.502805 0.773603 0.783775 0.868326
8 8 0.954002 0.462217 0.157847 0.763585 0.077337
9 9 0.561775 0.318566 0.620080 0.752606 0.246272
In [0]:
!rm -rf "/content/drive/My Drive/test_colab/df.csv"

구글 드라이브에서 주피터 노트북 사용하기

주피터 노트북 파일을 구글 드라이브에 업로드 해 놓으면 콜랩에서 연동하여 사용할 수 있다. 구글 드라이브에서 .ipynb 파일을 열때 연결할 앱으로 "Collaboratory"를 선택하면 구글 코랩에서 열린다.

질문/덧글

저장한 화일 불러오기 npdr*** 2019년 3월 30일 8:32 오전

!mkdir -p google_drive/test_colab
df = pd.DataFrame(np.random.rand(10, 5))
df.to_csv("google_drive/test_colab/df.csv")
!ls -Fcal google_drive/test_colab

화일 저장 후 하기와 같이 불러오려는데 에러가 납니다. 화일이 폴더내 있는 것은 확인하였습니다.

df = pd.read_csv("google_drive/test_colab/df.csv")
df.head()

FileNotFoundError: File b'google_drive/test_colab/df.csv' does not exist