Google Colab-빠른 가이드

구글은 AI 연구에서 상당히 공격적입니다. 수년에 걸쳐 Google은 다음과 같은 AI 프레임 워크를 개발했습니다.TensorFlow 및라는 개발 도구 Colaboratory. 현재 TensorFlow는 오픈 소스이며 2017 년부터 Google은 Colaboratory를 무료로 공개적으로 사용할 수 있도록 만들었습니다. Colaboratory는 이제 Google Colab 또는 간단히Colab.

Google이 개발자에게 제공하는 또 다른 매력적인 기능은 GPU를 사용하는 것입니다. Colab은 GPU를 지원하며 완전히 무료입니다. 대중에게 무료로 제공하는 이유는 소프트웨어를 기계 학습 및 데이터 과학 교육을위한 학계의 표준으로 만들기 때문일 수 있습니다. 또한 사용량 기준으로 판매되는 Google Cloud API에 대한 고객 기반을 구축하는 장기적인 관점을 가질 수 있습니다.

이유에 관계없이 Colab의 도입으로 머신 러닝 애플리케이션의 학습 및 개발이 쉬워졌습니다.

이제 Colab을 시작하겠습니다.

사용한 경우 Jupyter이전에는 Google Colab 사용 방법을 빠르게 배웠습니다. 정확히 말하면 Colab은 전적으로 클라우드에서 실행되는 무료 Jupyter 노트북 환경입니다. 가장 중요한 것은 설정이 필요하지 않으며 만든 노트북은 Google 문서 도구에서 문서를 편집하는 방식으로 팀원이 동시에 편집 할 수 있다는 것입니다. Colab은 노트북에 쉽게로드 할 수있는 많은 인기 기계 학습 라이브러리를 지원합니다.

Colab이 제공하는 것은 무엇입니까?

프로그래머는 Google Colab을 사용하여 다음을 수행 할 수 있습니다.

  • Python에서 코드 작성 및 실행

  • 수학 방정식을 지원하는 코드 문서화

  • 노트북 생성 / 업로드 / 공유

  • Google 드라이브에서 /로 노트북 가져 오기 / 저장

  • GitHub에서 노트북 가져 오기 / 게시

  • 예를 들어 Kaggle에서 외부 데이터 세트 가져 오기

  • PyTorch, TensorFlow, Keras, OpenCV 통합

  • 무료 GPU가 포함 된 무료 클라우드 서비스

이 장에서는 첫 번째 간단한 노트북을 만들고 실행합니다. 필요할 때마다 제공된 단계를 따르십시오.

Note − Colab은 노트북을 저장하기 위해 암시 적으로 Google Drive를 사용하므로 계속 진행하기 전에 Google Drive 계정에 로그인했는지 확인하십시오.

Step 1 − 브라우저에서 다음 URL을 엽니 다. − https://colab.research.google.com 브라우저는 다음 화면을 표시합니다 (Google 드라이브에 로그인했다고 가정)-

Step 2 − 클릭 NEW PYTHON 3 NOTEBOOK화면 하단의 링크. 아래 화면과 같이 새 노트북이 열립니다.

아시다시피 노트북 인터페이스는 Jupyter에서 제공하는 인터페이스와 매우 유사합니다. Python 코드를 입력하는 코드 창이 있습니다.

노트북 이름 설정

기본적으로 노트북은 이름 지정 규칙 UntitledXX.ipynb를 사용합니다. 노트북의 이름을 변경하려면이 이름을 클릭하고 여기에 표시된대로 편집 상자에 원하는 이름을 입력합니다.

이 노트북을 MyFirstColabNotebook. 따라서 편집 상자에이 이름을 입력하고 ENTER를 누르십시오. 노트북은 지금 지정한 이름을 얻게됩니다.

코드 입력

이제 코드 창에 간단한 Python 코드를 입력하고 실행합니다.

코드 창에 다음 두 개의 Python 문을 입력하십시오.

import time
print(time.ctime())

코드 실행

코드를 실행하려면 코드 창의 왼쪽에있는 화살표를 클릭하십시오.

잠시 후 여기에 표시된대로 코드 창 아래에 출력이 표시됩니다.

Mon Jun 17 05:58:40 2019

출력 디스플레이의 왼쪽에있는 아이콘을 클릭하여 언제든지 출력을 지울 수 있습니다.

코드 셀 추가

노트북에 코드를 더 추가하려면 다음을 선택하세요. menu 옵션-

Insert / Code Cell

또는 코드 셀의 하단 중앙에서 마우스를 가져갑니다. 때CODETEXT버튼이 나타나면 코드를 클릭하여 새 셀을 추가하십시오. 이것은 아래 스크린 샷에 나와 있습니다.

현재 셀 아래에 새 코드 셀이 추가됩니다. 새로 생성 된 코드 창에 다음 두 문장을 추가합니다.

time.sleep(5)
print (time.ctime())

이제이 셀을 실행하면 다음 출력이 표시됩니다.

Mon Jun 17 04:50:27 2019

확실히, 두 시간 문자열 사이의 시간 차이는 5 초가 아닙니다. 새 코드를 삽입하는 데 약간의 시간이 소요되었으므로 이는 분명합니다. Colab을 사용하면 중단없이 노트북 내부의 모든 코드를 실행할 수 있습니다.

모두 실행

중단없이 노트북에서 전체 코드를 실행하려면 다음 메뉴 옵션을 실행하십시오.

Runtime / Reset and run all…

아래와 같이 출력을 제공합니다.

두 출력 간의 시간 차이는 이제 정확히 5 초입니다.

위의 작업은 다음 두 가지 메뉴 옵션을 실행하여 시작할 수도 있습니다.

Runtime / Restart runtime…

또는

Runtime / Restart all runtimes…

뒤에

Runtime / Run all

아래의 다양한 메뉴 옵션을 연구하십시오. Runtime 노트북을 실행하기 위해 사용할 수있는 다양한 옵션을 익힐 수있는 메뉴입니다.

셀 순서 변경

노트북에 많은 수의 코드 셀이 포함 된 경우 이러한 셀의 실행 순서를 변경하려는 상황이 발생할 수 있습니다. 이동하려는 셀을 선택하고UP CELL 또는 DOWN CELL 다음 스크린 샷에 표시된 버튼-

버튼을 여러 번 클릭하여 한 위치 이상으로 셀을 이동할 수 있습니다.

셀 삭제

프로젝트를 개발하는 동안 노트북에 현재 원하지 않는 셀 몇 개를 도입했을 수 있습니다. 클릭 한 번으로 프로젝트에서 이러한 셀을 쉽게 제거 할 수 있습니다. 코드 셀의 오른쪽 상단에있는 수직 점선 아이콘을 클릭합니다.

클릭 Delete cell 옵션과 현재 셀이 삭제됩니다.

이제 간단한 노트북을 실행하는 방법을 배웠으므로 Colab의 다른 기능을 살펴 보겠습니다.

코드 셀이 전체 Python 구문을 지원하므로 Python을 사용할 수 있습니다. comments코드 창에서 코드를 설명합니다. 그러나 많은 경우 ML 알고리즘을 설명하기 위해 간단한 텍스트 기반 주석 이상의 것이 필요합니다. ML은 수학을 많이 사용하며 독자에게 이러한 용어와 방정식을 설명하려면 수학적 표현을위한 언어 인 LaTex를 지원하는 편집기가 필요합니다. Colab은Text Cells 이 목적을 위해.

ML에서 일반적으로 사용되는 수학 방정식이 거의없는 텍스트 셀은 아래 스크린 샷에 나와 있습니다.

이 장에서 계속 진행하면서 위의 출력을 생성하는 코드를 볼 수 있습니다.

텍스트 셀은 markdown-간단한 마크 업 언어. 이제 노트북에 텍스트 셀을 추가하고 수학 방정식이 포함 된 텍스트를 추가하는 방법을 살펴 보겠습니다.

마크 다운 예

그 기능을 보여주기 위해 몇 가지 마크 업 언어 구문의 예를 살펴 보겠습니다.

텍스트 셀에 다음 텍스트를 입력하십시오.

This is **bold**.
This is *italic*.
This is ~strikethrough~.

위 명령의 출력은 여기에 표시된대로 Cell의 오른쪽에 렌더링됩니다.

수학 방정식

추가하다 Text Cell 노트북에 입력하고 텍스트 창에 다음 마크 다운 구문을 입력합니다.

$\sqrt{3x-1}+(1+x)^2$

텍스트 셀의 오른쪽 패널에서 마크 다운 코드가 즉시 렌더링되는 것을 볼 수 있습니다. 이것은 아래 스크린 샷에 나와 있습니다.

히트 Enter 마크 다운 코드가 텍스트 셀에서 사라지고 렌더링 된 출력 만 표시됩니다.

여기에 표시된 다른 더 복잡한 방정식을 시도해 보겠습니다.

$e^x = \sum_{i = 0}^\infty \frac{1}{i!}x^i$

렌더링 된 출력은 빠른 참조를 위해 여기에 표시됩니다.

샘플 방정식에 대한 코드

다음은 이전 스크린 샷에 표시된 샘플 방정식의 코드입니다.

Constraints are
   - $3x_1 + 6x_2 + x_3 =< 28$
   - $7x_1 + 3x_2 + 2x_3 =< 37$
   - $4x_1 + 5x_2 + 2x_3 =< 19$
   - $x_1,x_2,x_3 >=0 $

The trial vector is calculated as follows:
- $u_i(t) = x_i(t) + \beta(\hat{x}(t) − x_i(t)) + \beta \sum_{k = 1}^{n_v}(x_{i1,k}(t) − x_{i2,k}(t))$
$f(x_1, x_2) = 20 + e - 20exp(-0.2 \sqrt {\frac {1}{n} (x_1^2 + x_2^2)}) - exp (\frac {1}{n}(cos(2\pi x_1) + cos(2\pi x_2))$

$x ∈ [-5, 5]$
>$A_{m,n} =
   \begin{pmatrix}
   a_{1,1} > a_{1,2} > \cdots > a_{1,n} \\
   a_{2,1} > a_{2,2} > \cdots > a_{2,n} \\
   \vdots > \vdots > \ddots > \vdots \\
   a_{m,1} > a_{m,2} > \cdots > a_{m,n}
   \end{pmatrix}$

전체 마크 업 구문을 설명하는 것은이 자습서의 범위를 벗어납니다. 다음 장에서는 작업을 저장하는 방법을 살펴 보겠습니다.

Colab을 사용하면 작업을 Google 드라이브에 저장하거나 GitHub 저장소에 직접 저장할 수도 있습니다.

Google 드라이브에 저장

Colab을 사용하면 작업 내용을 Google 드라이브에 저장할 수 있습니다. 노트북을 저장하려면 다음 메뉴 옵션을 선택하십시오-

File / Save a copy in Drive…

다음 화면이 표시됩니다.

이 작업은 노트북의 사본을 만들고 드라이브에 저장합니다. 나중에 사본의 이름을 원하는 이름으로 바꿀 수 있습니다.

GitHub에 저장

다음 메뉴 옵션을 선택하여 작업을 GitHub 저장소에 저장할 수도 있습니다.

File / Save a copy in GitHub...

메뉴 선택은 빠른 참조를 위해 다음 스크린 샷에 표시됩니다.

GitHub에 대한 로그인 화면이 표시 될 때까지 기다려야합니다.

이제 자격 증명을 입력하십시오. 저장소가없는 경우 새 저장소를 만들고 아래 스크린 샷과 같이 프로젝트를 저장하십시오.

다음 장에서는 작업을 다른 사람과 공유하는 방법을 배웁니다.

만든 노트북을 다른 공동 개발자와 공유하려면 Google 드라이브에서 만든 사본을 공유 할 수 있습니다.

일반 사용자에게 노트북을 게시하려면 GitHub 저장소에서 공유 할 수 있습니다.

작업을 공유하는 또 다른 방법이 있습니다. SHAREColab 노트북의 오른쪽 상단 모서리에있는 링크. 여기에 표시된대로 공유 상자가 열립니다.

현재 문서를 공유 할 사람의 이메일 ID를 입력 할 수 있습니다. 위 화면에 표시된 세 가지 옵션 중에서 선택하여 액세스 종류를 설정할 수 있습니다.

클릭 Get shareable link노트북의 URL을 가져 오는 옵션. 다음과 같이 공유 할 수있는 옵션을 찾을 수 있습니다.

  • 지정된 사람 그룹

  • 조직의 동료

  • 링크가있는 모든 사용자

  • 웹의 모든 공개

지금. 노트북을 생성 / 실행 / 저장 / 공유하는 방법을 알고 있습니다. 코드 셀에서는 지금까지 Python을 사용했습니다. 코드 셀은 시스템 명령을 호출하는 데 사용할 수도 있습니다. 이것은 다음에 설명됩니다.

Jupyter에는 많은 일반적인 시스템 작업에 대한 바로 가기가 포함되어 있습니다. Colab 코드 셀은이 기능을 지원합니다.

간단한 명령

시스템 명령 echo를 사용하는 코드 셀에 다음 코드를 입력하십시오.

message = 'A Great Tutorial on Colab by Tutorialspoint!'
greeting = !echo -e '$message\n$message'
greeting

이제 셀을 실행하면 다음 출력이 표시됩니다.

['A Great Tutorial on Colab by Tutorialspoint!', 'A Great Tutorial on Colab by Tutorialspoint!']

원격 데이터 가져 오기

원격 서버에서 데이터 세트를로드하는 다른 예를 살펴 보겠습니다. 코드 셀에 다음 명령을 입력하십시오-

!wget http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data -P "/content/drive/My Drive/app"

코드를 실행하면 다음 출력이 표시됩니다.

--2019-06-20 10:09:53-- http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data
Resolving mlr.cs.umass.edu (mlr.cs.umass.edu)... 128.119.246.96
Connecting to mlr.cs.umass.edu (mlr.cs.umass.edu)|128.119.246.96|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 3974305 (3.8M) [text/plain] 
Saving to: ‘/content/drive/My Drive/app/adult.data.1’

adult.data.1 100%[===================>] 3.79M 1.74MB/s in 2.2s

2019-06-20 10:09:56 (1.74 MB/s) - ‘/content/drive/My Drive/app/adult.data.1’ saved [3974305/3974305]

메시지에서 말했듯이 adult.data.1이제 파일이 드라이브에 추가되었습니다. 드라이브의 폴더 내용을 검사하여이를 확인할 수 있습니다. 또는 새 코드 셀에 다음 코드를 입력하십시오.

import pandas as pd
data = pd.read_csv("/content/drive/My Drive/app/adult.data.1")
data.head(5)

지금 코드를 실행하면 다음 출력이 표시됩니다.

마찬가지로, 대부분의 시스템 명령은 명령 앞에 느낌표 (!)를 추가하여 코드 셀에서 호출 할 수 있습니다. 호출 할 수있는 전체 명령 목록을 제공하기 전에 다른 예를 살펴 보겠습니다.

Git 리포지토리 복제

다음을 사용하여 전체 GitHub 저장소를 Colab에 복제 할 수 있습니다. git명령. 예를 들어, keras 튜토리얼을 복제하려면 코드 셀에 다음 명령을 입력하십시오.

!git clone https://github.com/wxs/keras-mnist-tutorial.git

명령을 성공적으로 실행하면 다음 출력이 표시됩니다.

Cloning into 'keras-mnist-tutorial'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
Unpacking objects: 100% (26/26), done.

저장소가 복제되면 Jupyter 프로젝트 (예 : keras.ipyab의 MINST)를 찾아 파일 이름을 마우스 오른쪽 버튼으로 클릭하고 Open With / Colaboratory 메뉴 옵션을 사용하여 Colab에서 프로젝트를 엽니 다.

시스템 별칭

일반적인 작업에 대한 단축키 목록을 얻으려면 다음 명령을 실행하십시오.

!ls /bin

아래와 같이 출력 창에 목록이 표시됩니다.

bash*             journalctl*       sync*
bunzip2*          kill*             systemctl*
bzcat*            kmod*             systemd@
bzcmp@            less*             systemd-ask-password*
bzdiff*           lessecho*         systemd-escape*
bzegrep@          lessfile@         systemd-hwdb*
bzexe*            lesskey*          systemd-inhibit*
bzfgrep@          lesspipe*         systemd-machine-id-setup*
bzgrep*           ln*               systemd-notify*
bzip2*            login*            systemd-sysusers*
bzip2recover*     loginctl*         systemd-tmpfiles*
bzless@           ls*               systemd-tty-ask-password-agent*
bzmore*           lsblk*            tar*
cat*              lsmod@            tempfile*
chgrp*            mkdir*            touch*
chmod*            mknod*            true*
chown*            mktemp*           udevadm*
cp*               more*             ulockmgr_server*
dash*             mount*            umount*
date*             mountpoint*       uname*
dd*               mv*               uncompress*
df*               networkctl*       vdir*
dir*              nisdomainname@    wdctl*
dmesg*            pidof@            which*
dnsdomainname@    ps*               ypdomainname@
domainname@       pwd*              zcat*
echo*             rbash@            zcmp*
egrep*            readlink*         zdiff*
false*            rm*               zegrep*
fgrep*            rmdir*            zfgrep*
findmnt*          run-parts*        zforce*
fusermount*       sed*              zgrep*
grep*             sh@               zless*
gunzip*           sh.distrib@       zmore*
gzexe*            sleep*            znew*
gzip*             stty*
hostname*         su*

우리가 한 것처럼 다음 명령을 실행하십시오. echowget. 다음 장에서는 이전에 생성 한 Python 코드를 실행하는 방법을 살펴 보겠습니다.

Google 드라이브에 저장된 Python 코드가 이미 개발되었다고 가정합니다. 이제 추가 수정을 위해 Colab에서이 코드를로드하려고합니다. 이 장에서는 Google 드라이브에 저장된 코드를로드하고 실행하는 방법을 알아 봅니다.

마운팅 드라이브

Tools / Command palette

이 스크린 샷에 표시된 명령 목록이 표시됩니다.

검색 상자에 "m"과 같은 몇 개의 문자를 입력하여 마운트 명령을 찾습니다. 고르다Mount Drive목록에서 명령. 다음 코드가 코드 셀에 삽입됩니다.

# Run this cell to mount your Google Drive.
from google.colab import drive
drive.mount('/content/drive')

이 코드를 실행하면 인증 코드를 입력하라는 메시지가 표시됩니다. 해당 화면은 다음과 같습니다.

브라우저에서 위의 URL을 엽니 다. Google 계정에 로그인하라는 메시지가 표시됩니다. 이제 다음 화면이 표시됩니다.

권한을 부여하면 다음과 같이 코드를 받게됩니다.

이 코드를 코드 셀에 잘라내어 붙여넣고 ENTER를 누르십시오. 잠시 후 아래 스크린 샷과 같이 드라이브가 마운트됩니다.

이제 Colab에서 드라이브의 콘텐츠를 사용할 준비가되었습니다.

드라이브 내용 나열

다음과 같이 ls 명령을 사용하여 드라이브의 내용을 나열 할 수 있습니다.

!ls "/content/drive/My Drive/Colab Notebooks"

이 명령은 Colab Notebooks 폴더의 내용을 나열합니다. 내 드라이브 내용의 샘플 출력은 다음과 같습니다.

Greeting.ipynb hello.py LogisticRegressionCensusData.ipynb LogisticRegressionDigitalOcean.ipynb MyFirstColabNotebook.ipynb SamplePlot.ipynb

Python 코드 실행

이제 Google 드라이브에 저장된 hello.py라는 Python 파일을 실행한다고 가정 해 보겠습니다. 코드 셀에 다음 명령을 입력하십시오-

!python3 "/content/drive/My Drive/Colab Notebooks/hello.py"

hello.py의 내용은 여기에 참고 용으로 제공됩니다.

print("Welcome to TutorialsPoint!")

이제 다음 출력이 표시됩니다.

Welcome to TutorialsPoint!

텍스트 출력 외에도 Colab은 그래픽 출력도 지원합니다. 다음 장에서 이것을 볼 것입니다.

Colab은 차트와 같은 풍부한 출력도 지원합니다. 코드 셀에 다음 코드를 입력하십시오.

import numpy as np
from matplotlib import pyplot as plt

y = np.random.randn(100)
x = [x for x in range(len(y))]

plt.plot(x, y, '-')
plt.fill_between(x, y, 200, where = (y > 195), facecolor='g', alpha=0.6)

plt.title("Sample Plot")
plt.show()

이제 코드를 실행하면 다음 출력이 표시됩니다.

그래픽 출력은 코드 셀의 출력 섹션에 표시됩니다. 마찬가지로 프로그램 코드 전체에서 여러 유형의 차트를 만들고 표시 할 수 있습니다.

이제 Colab의 기본 사항에 익숙해 졌으므로 Python 코드 개발을 더 쉽게 만들어주는 Colab의 기능으로 이동하겠습니다.

현재 개발자는 언어 및 라이브러리 구문에 대한 상황에 맞는 도움말에 크게 의존하고 있습니다. 이것이 IDE가 널리 사용되는 이유입니다. Colab 노트북 편집기는이 기능을 제공합니다.

이 장에서는 Colab에서 Python 코드를 작성하는 동안 상황에 맞는 도움말을 요청하는 방법을 살펴 보겠습니다. 필요할 때마다 제공된 단계를 따르십시오.

기능 목록

Step 1 − 새 노트북을 열고 코드 셀에 다음 코드를 입력합니다. −

import torch

Step 2− 코드 셀의 왼쪽 패널에서 실행 아이콘을 클릭하여 코드를 실행합니다. 다른 코드 셀을 추가하고 다음 코드를 입력하십시오.

Tensor = torch.

이 시점에서 사용할 수있는 다양한 기능이 무엇인지 잊어 버렸다고 가정합니다. torch기준 치수. 기능 이름에 대한 상황에 맞는 도움말을 요청할 수 있습니다.TAB키. 의 존재에 유의하십시오.DOTtorch예어. 이 DOT가 없으면 상황에 맞는 도움말을 볼 수 없습니다. 화면은 여기 스크린 샷과 같이 보일 것입니다.

이제 목록에서 원하는 기능을 선택하고 코딩을 진행하십시오.

기능 문서

Colab은 모든 function 또는 class 상황에 맞는 도움말입니다.

코드 창에 다음 코드를 입력하십시오-

Tensor = torch.cos(

자, 히트 TAB 다음에 대한 설명서를 볼 수 있습니다. cos여기 스크린 샷과 같이 팝업 창에서. 입력해야합니다.open parenthesis TAB을 누르기 전에.

다음 장에서 우리는 Magics Colab에서 시스템 별칭으로 수행 한 작업보다 더 강력한 작업을 수행 할 수 있습니다.

Magics는 미니 확장 명령 언어를 제공하는 시스템 명령 세트입니다.

마법은 두 가지 유형이 있습니다.

  • 라인 매직

  • 세포 마법

이름 그대로의 라인 매직은 한 줄의 명령으로 구성되어 있음을 나타내며 셀 매직은 코드 셀의 전체 본문을 덮습니다.

라인 매직의 경우 명령 앞에 하나의 % 문자가 추가되고 셀 매직의 경우 두 개의 % 문자 (%%)가 앞에 추가됩니다.

이를 설명하기 위해 둘 다의 몇 가지 예를 살펴 보겠습니다.

라인 매직

코드 셀에 다음 코드를 입력하십시오-

%ldir

다음과 같은 로컬 디렉토리의 내용이 표시됩니다.

drwxr-xr-x 3 root 4096 Jun 20 10:05 drive/
drwxr-xr-x 1 root 4096 May 31 16:17 sample_data/

다음 명령을 시도하십시오-

%history

이전에 실행 한 명령의 전체 내역을 표시합니다.

셀 매직

코드 셀에 다음 코드를 입력하십시오-

%%html
<marquee style='width: 50%; color: Green;'>Welcome to Tutorialspoint!</marquee>

이제 코드를 실행하면 여기에 표시된대로 스크롤되는 환영 메시지가 화면에 표시됩니다.

다음 코드는 SVG를 문서에 추가합니다.

%%html
<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 600 400" width="400" height="400">
   <rect x="10" y="00" width="300" height="100" rx="0" style="fill:orange; stroke:black; fill-opacity:1.0" />
   <rect x="10" y="100" width="300" height="100" rx="0" style="fill:white; stroke:black; fill-opacity:1.0;" />
   <rect x="10" y="200" width="300" height="100" rx="0" style="fill:green; stroke:black; fill-opacity:1.0;" />
</svg>

코드를 실행하면 다음 출력이 표시됩니다.

매직 목록

지원되는 매직의 전체 목록을 얻으려면 다음 명령을 실행하십시오.

%lsmagic

다음 출력이 표시됩니다.

Available line magics:
%alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear
%colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit
%env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext
%loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro
%magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef
%pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %profile %prun
%psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall
%rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save
%sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit
%unalias %unload_ext %who %who_ls %whos %xdel %xmode

Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript
%%js %%latex %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script
%%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

다음으로 Colab의 또 다른 강력한 기능을 학습하여 런타임에 프로그램 변수를 설정합니다.

Colab은 런타임에 사용자의 입력을 수락 할 수있는 Forms라는 매우 유용한 유틸리티를 제공합니다. 이제 전자 필기장에 양식을 추가하는 방법을 살펴 보겠습니다.

양식 추가

이전 레슨에서 다음 코드를 사용하여 시간 지연을 생성했습니다.

import time
print(time.ctime())
time.sleep(5)
print (time.ctime())

5 초의 고정 지연 대신 사용자 설정 시간 지연을 원한다고 가정합니다. 이를 위해 코드 셀에 양식을 추가하여 절전 시간을 수락 할 수 있습니다.

새 노트북을 엽니 다. 클릭Options(세로 점선) 메뉴. 아래 스크린 샷과 같이 팝업 메뉴가 나타납니다.

이제 선택 Add a form선택권. 여기 스크린 샷과 같이 기본 제목이있는 코드 셀에 양식이 추가됩니다.

양식의 제목을 변경하려면 Settings버튼 (오른쪽의 연필 아이콘). 다음과 같이 설정 화면이 나타납니다.

양식 제목을 다음으로 변경하십시오. “Form”양식을 저장하십시오. 원하는 다른 이름을 사용할 수 있습니다. 추가됩니다.@title 코드 셀에.

나중에 위 화면에서 다른 옵션을 탐색 할 수 있습니다. 다음 섹션에서는 양식에 입력 필드를 추가하는 방법에 대해 알아 봅니다.

양식 필드 추가

양식 필드를 추가하려면 Options 코드 셀의 메뉴에서 Form하위 메뉴를 표시합니다. 화면은 아래와 같이 보일 것입니다-

고르다 Add a form field메뉴 옵션. 여기에 표시된대로 대화 상자가 나타납니다.

떠나 Form field type ...에 input. 변경 Variable name ...에 sleeptime 그리고 설정 Variable type ...에 integer. 클릭하여 변경 사항을 저장하십시오.Save 단추.

이제 화면이 다음과 같이 보입니다. sleeptime 코드에 변수가 추가되었습니다.

다음으로, 사용하는 코드를 추가하여 양식을 테스트하는 방법을 살펴 보겠습니다. sleeptime 변하기 쉬운.

테스트 양식

양식 셀 아래에 새 코드 셀을 추가하십시오. 아래에 주어진 코드를 사용하십시오-

import time
print(time.ctime())
time.sleep(sleeptime)
print (time.ctime())

이전 단원에서이 코드를 사용했습니다. 현재 시간을 인쇄하고 일정 시간 동안 기다린 후 새 타임 스탬프를 인쇄합니다. 프로그램이 대기하는 시간은 다음과 같은 변수에 설정됩니다.sleeptime.

이제 다시 Form 셀 및 값 2를 입력하십시오. sleeptime. 다음 메뉴를 선택하십시오-

Runtime / Run all

이것은 전체 노트북을 실행합니다. 아래와 같은 출력 화면을 볼 수 있습니다.

입력 값 2를 사용했습니다.

수면 시간

. 이것을 다른 값으로 변경하고 Run all 그 효과를 확인하십시오.

텍스트 입력

양식에 텍스트 입력을 허용하려면 새 코드 셀에 다음 코드를 입력하십시오.

name = 'Tutorialspoint' #@param {type:"string"}
print(name)

이제 코드 셀을 실행하면 양식에 설정 한 이름이 화면에 인쇄됩니다. 기본적으로 다음 출력이 화면에 나타납니다.

Tutorialspoint

정수 입력에 표시된대로 메뉴 옵션을 사용하여 Text 입력 필드.

드롭 다운 목록

양식에 드롭 다운 목록을 추가하려면 다음 코드를 사용하십시오.

color = 'green' #@param ["red", "green", "blue"]
print(color)

이렇게하면 빨강, 녹색 및 파랑의 세 가지 값이있는 드롭 다운 목록이 생성됩니다. 기본 선택은 녹색입니다.

드롭 다운 목록은 아래 스크린 샷에 나와 있습니다.

날짜 입력

Colab 양식을 사용하면 유효성 검사를 통해 코드의 날짜를 수락 할 수 있습니다. 다음 코드를 사용하여 코드에 날짜를 입력하십시오.

#@title Date fields
date_input = '2019-06-03' #@param {type:"date"}
print(date_input)

Form 화면은 다음과 같습니다.

잘못된 날짜 값을 입력하고 유효성 검사를 관찰하십시오.

지금까지 Python 코드로 Jupyter 노트북을 만들고 실행하기 위해 Colab을 사용하는 방법을 배웠습니다. 다음 장에서는 Python 코드에서 사용할 수 있도록 노트북에 인기있는 ML 라이브러리를 설치하는 방법을 살펴 보겠습니다.

Colab은 시장에서 사용 가능한 대부분의 기계 학습 라이브러리를 지원합니다. 이 장에서는 Colab 노트북에 이러한 라이브러리를 설치하는 방법에 대한 간략한 개요를 살펴 보겠습니다.

라이브러리를 설치하려면 다음 옵션 중 하나를 사용할 수 있습니다.

!pip install

또는

!apt-get install

케 라스

Python으로 작성된 Keras는 TensorFlow, CNTK 또는 Theano에서 실행됩니다. 신경망 애플리케이션을 쉽고 빠르게 프로토 타이핑 할 수 있습니다. 컨볼 루션 네트워크 (CNN) 및 순환 네트워크와 이들의 조합을 모두 지원합니다. GPU를 원활하게 지원합니다.

Keras를 설치하려면 다음 명령을 사용하십시오-

!pip install -q keras

파이 토치

PyTorch는 딥 러닝 애플리케이션 개발에 이상적입니다. 최적화 된 텐서 라이브러리이며 GPU를 사용할 수 있습니다. PyTorch를 설치하려면 다음 명령을 사용하십시오.

!pip3 install torch torchvision

MxNet

Apache MxNet은 딥 러닝을위한 또 다른 유연하고 효율적인 라이브러리입니다. MxNet을 설치하려면 다음 명령을 실행하십시오-

!apt install libnvrtc8.0
!pip install mxnet-cu80

OpenCV

OpenCV는 머신 러닝 애플리케이션 개발을위한 오픈 소스 컴퓨터 비전 라이브러리입니다. 얼굴 인식, 물체 식별, 움직이는 물체 추적, 이미지 연결 등과 같은 여러 애플리케이션을 지원하는 2500 개 이상의 최적화 된 알고리즘이 있습니다. Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota와 같은 거대 기업이이 라이브러리를 사용합니다. 이것은 실시간 비전 애플리케이션 개발에 매우 ​​적합합니다.

OpenCV를 설치하려면 다음 명령을 사용하십시오-

!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python

XGBoost

XGBoost는 Hadoop과 같은 주요 분산 환경에서 실행되는 분산 그래디언트 부스팅 라이브러리입니다. 매우 효율적이고 유연하며 휴대 가능합니다. Gradient Boosting 프레임 워크에서 ML 알고리즘을 구현합니다.

XGBoost를 설치하려면 다음 명령을 사용하십시오.

!pip install -q xgboost==0.4a30

GraphViz

Graphviz는 그래프 시각화를위한 오픈 소스 소프트웨어입니다. 네트워킹, 생물 정보학, 데이터베이스 설계의 시각화에 사용되며 데이터의 시각적 인터페이스가 필요한 많은 영역에서 해당 문제에 사용됩니다.

GraphViz를 설치하려면 다음 명령을 사용하십시오.

!apt-get -qq install -y graphviz && pip install -q pydot

지금까지 인기있는 기계 학습 라이브러리가 포함 된 Jupyter 노트북을 만드는 방법을 배웠습니다. 이제 기계 학습 모델을 개발할 준비가되었습니다. 이를 위해서는 높은 처리 능력이 필요합니다. Colab은 노트북에 무료 GPU를 제공합니다.

다음 장에서는 노트북에서 GPU를 활성화하는 방법에 대해 알아 봅니다.

Google은 Colab 노트북에 무료 GPU 사용을 제공합니다.

GPU 활성화

노트북에서 GPU를 활성화하려면 다음 메뉴 옵션을 선택하십시오.

Runtime / Change runtime type

다음 화면이 출력으로 표시됩니다.

고르다 GPU노트북은 처리 중에 클라우드에서 제공되는 무료 GPU를 사용합니다. GPU 처리 느낌을 얻으려면 다음에서 샘플 애플리케이션을 실행 해보십시오.MNIST 이전에 복제 한 자습서.

!python3 "/content/drive/My Drive/app/mnist_cnn.py"

GPU를 활성화하지 않고 동일한 Python 파일을 실행 해보십시오. 실행 속도의 차이를 느꼈습니까?

GPU 테스트

다음 코드를 실행하여 GPU가 활성화되었는지 쉽게 확인할 수 있습니다.

import tensorflow as tf
tf.test.gpu_device_name()

GPU가 활성화되면 다음과 같은 출력이 제공됩니다.

'/device:GPU:0'

장치 나열

클라우드에서 노트북을 실행하는 동안 사용되는 장치를 알고 싶다면 다음 코드를 시도하십시오.

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

다음과 같이 출력이 표시됩니다.

[name: "/device:CPU:0"
   device_type: "CPU"
   memory_limit: 268435456
   locality { }
   incarnation: 1734904979049303143, name: "/device:XLA_CPU:0"
   device_type: "XLA_CPU" memory_limit: 17179869184
   locality { } 
   incarnation: 16069148927281628039
   physical_device_desc: "device: XLA_CPU device", name: "/device:XLA_GPU:0"
   device_type: "XLA_GPU"
   memory_limit: 17179869184
   locality { }
   incarnation: 16623465188569787091
   physical_device_desc: "device: XLA_GPU device", name: "/device:GPU:0"
   device_type: "GPU"
   memory_limit: 14062547764
   locality {
      bus_id: 1
      links { } 
   }
   incarnation: 6674128802944374158
physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"]

RAM 확인

프로세스에 사용할 수있는 메모리 리소스를 보려면 다음 명령을 입력하십시오.

!cat /proc/meminfo

다음 출력이 표시됩니다.

MemTotal: 13335276 kB
MemFree: 7322964 kB
MemAvailable: 10519168 kB
Buffers: 95732 kB
Cached: 2787632 kB
SwapCached: 0 kB
Active: 2433984 kB
Inactive: 3060124 kB
Active(anon): 2101704 kB
Inactive(anon): 22880 kB
Active(file): 332280 kB
Inactive(file): 3037244 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 412 kB
Writeback: 0 kB
AnonPages: 2610780 kB
Mapped: 838200 kB
Shmem: 23436 kB
Slab: 183240 kB
SReclaimable: 135324 kB
SUnreclaim: 47916
kBKernelStack: 4992 kB
PageTables: 13600 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6667636 kB
Committed_AS: 4801380 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 303092 kB
DirectMap2M: 5988352 kB
DirectMap1G: 9437184 kB

이제 Google Colab을 사용하여 Python에서 머신 러닝 모델을 개발할 준비가되었습니다.

Google Colab은 Python으로 머신 러닝 모델을 학습하고 빠르게 개발할 수있는 강력한 플랫폼입니다. Jupyter 노트북을 기반으로하며 공동 개발을 지원합니다. 팀 구성원은 원격으로도 노트북을 공유하고 동시에 편집 할 수 있습니다. 노트북은 GitHub에 게시하고 일반 대중과 공유 할 수도 있습니다. Colab은 PyTorch, TensorFlow, Keras 및 OpenCV와 같은 많은 인기있는 ML 라이브러리를 지원합니다. 현재 제한은 아직 R 또는 Scala를 지원하지 않는다는 것입니다. 세션 및 크기에도 제한이 있습니다. 이점을 고려할 때, 이것들은 우리가해야 할 작은 희생입니다.