구글 코랩 (Google Colab) 시작하기
- Development/Python
- 2021. 1. 20.
구글 코랩(Google Colaboratory) 시작하기
구글 코랩(Google Colaboratory)은 구글에서 제공하는 Jupyter Notebook이다. 대신, 인프라는 구글 클라우드를 기반으로 하기 때문에 개개인의 PC 보다 오히려 좋은 성능 및 접근성을 제공하고 있다. (보안 등의 이유로 접속이 차단된 곳에서는 사용 못할 수도 있다.) 그러나, 이와 같은 제약이 없는 사람들이라면, 하드웨어의 투자 (=돈) 및 번거로운 설정 과정을 하나하나 하지 않아도 되기에 사람들이 딥러닝을 학습하는데 많이 쓰고 있다.
로컬 PC에 주피터 노트북/ 주피터 랩을 설치하는 것에 비해 설정 과정이 간단하기 때문에 포스트 제목도 <설치하기> 또는 <설정하기>가 아니라 <시작하기>가 적합한 것 같다.
준비물
- 구글계정
- 혹시 학교 연계 계정 등 저장 용량이 큰 것(혹은 무한대)이 있으면 더 좋을 듯하나,
- 기본 계정으로도 무관
- 웹브라우저
- 인터넷 연결되는 환경이기만 하면 된다. 이왕이면 크롬
이것으로 준비는 끝났다.
접속하기/ 시작하기
https://colab.research.google.com/
에 접속한다. 브라우저의 구글 계정은 접속 후에 변경해도 된다.
접속하면 다음과 같은 화면이 뜬다.
취소 버튼을 누르면, 다음과 같은 초기 화면을 보게 된다.
혹은, 구글 드라이브에 접속해서 계정에 작업디렉토리를 만든 후, 그 디렉토리에서 코랩을 시작시킬 수도 있다. 공부를 위해, 구글 드라이브 내 별도의 폴더를 만들자. 새로운 폴더내에 커서를 놓고, 마우스 우클릭을 하면 더보기 > 연결프로그램 목록에서 Google Colaboratory를 선택한다. 목록에 없으면 연결할 앱 더보기를 눌러서 colab을 검색해 본다.
위 화면에서 연결프로그램으로 코랩을 고르면, 아래와 같은 화면으로 진입한다.
특정 폴더로부터 찾아가려면 구글드라이브>폴더>연결하기로 시작할 수 있고, 또는 코랩 페이지에 들어가서 파일을 찾아서 여는 방법으로도 할 수 있다.
구글 드라이브 마운트
코랩은 구글 드라이브를 마운트하여 스토리지로 쓸 수 있다. 구글 드라이브를 마운트 하려면 두 가지의 방법이 있다.
- UI에서 연동하는 방법
코랩을 띄운 후, 우측 폴더 아이콘(1)을 클릭한다. 그리고, 구글드라이브 아이콘(2)을 클릭한다.
그러면, 위와 같은 팝업이 뜬다. 여기에서 일단, "아니오"를 눌러보자.
위와 같은 명령어가 자동으로 입력이 나타난다. 즉, 저 커맨드를 직접 입력해서 실행하는 방법이 코랩에서 구글 드라이브를 마운트 하는 두 번째 방법이 된다. 일단, UI에서 연동하는 방법을 써서 연동하는 방법을 설명하는 중이므로, 위의 절차대로 다시 밟아서 이번에는 "GOOGLE 드라이브에 연결" 버튼을 클릭한다. 그러면 마운트가 간단하게 완료될 것이다.
- command로 연동하는 방법
위 커맨드에서 뒤에 붙인 force_remount=True는, 기존의 마운트 여부와 관계없이 다시 연동하라는 옵션인데 기존에 연결을 한 적이 없다면 넣지 않아도 된다. 만약, 연동한지 얼마되지 않은 상태에서 다시 마운트하려고 한다면 저 옵션을 넣으라고 뜰 것이다. 위에 뜬 것처럼, 링크를 클릭하면 다음과 같은 코드창이 뜬다.
이 코드를 복사해서, 위의 인증 칸(authorization code)에 붙여 넣으면 마운트 된다.
구글 드라이브를 마운트 했으므로, ls 명령어와 cd 명령어를 통해 확인하고 이동할 수 있다.
시스템 스펙 확인
나한테 어느 정도의 자원이 할당되었을지 확인해 보자.
- CPU
를 실행한다.$ cat /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 : 2199.998
cache size : 56320 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa
bogomips : 4399.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 79 model name : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping : 0
microcode : 0x1
cpu MHz : 2199.998
cache size : 56320 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa
bogomips : 4399.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual power management:
- Memory
$ cat /proc/meminfo
를 실행한다.
MemTotal: 13333596 kB
MemFree: 10363580 kB
MemAvailable: 12513656 kB
Buffers: 90060 kB
Cached: 2192852 kB
SwapCached: 0 kB
Active: 764800 kB
Inactive: 1940252 kB
Active(anon): 380660 kB
Inactive(anon): 368 kB
Active(file): 384140 kB
Inactive(file): 1939884 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 692 kB
Writeback: 0 kB
AnonPages: 422044 kB
Mapped: 241600 kB
Shmem: 1016 kB
Slab: 175184 kB
SReclaimable: 133552 kB
SUnreclaim: 41632 kB
KernelStack: 4576 kB
PageTables: 5744 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6666796 kB
Committed_AS: 3249180 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 1024 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
Hugetlb: 0 kB
DirectMap4k: 95464 kB
DirectMap2M: 6195200 kB
DirectMap1G: 9437184 kB
사용중인 맥북보다 더 많은 리소스를 구글에서 빌려주는 셈이다. 그리고, 할당된 자원은 굳이 위처럼 명령어를 통해 확인하지 않아도, 확인이 가능하다.
노트북 우측 상단에 RAM/ 디스크라고 써 있는 아이콘에 커서를 올려 놓으면, 위 스크린샷과 같이 가용자원의 용량을 보여준다. 위와 같이 간단하게 몇 번만의 클릭으로 구글 코랩 기본 사용설정이 가능하다.
더 보기
* 만약, 구글 정책의 변경으로 더 이상 학교 계정에서 구글 코랩을 사용할 수 없다면 구글원 직접 가입을 고민할 수도 있을 것이다.
* 파이썬의 기본 기능을 익히거나, 로컬에서 데이터 분석하는 것으로도 좋다면 직접 주피터랩/주피터노트북 설치를 고민할 수도 있을 것이다.
'Development > Python' 카테고리의 다른 글
네이버 검색광고 API 사용 준비하기 (0) | 2021.12.07 |
---|---|
파이참(PyCharm)에서 pip 업데이트가 안될 때? (0) | 2021.12.02 |
PyMySQL - 파이썬으로 MySQL 사용하기 (0) | 2021.03.01 |
주피터 랩/주피터 노트북 - password or token 입력창 뜨면? (2) | 2021.02.24 |
아나콘다로 맥북에 주피터 랩/주피터 노트북 설치하기 (파이썬 개발환경 구축) (4) | 2020.12.30 |
파이썬에서의 unit test - pytest (unittest + nose의 대안) (0) | 2020.11.21 |
python에서의 unit test - 디렉토리 구조 구성하기 + unittest 적용하기 (0) | 2020.11.19 |
Python project를 위한 Docker 기반 Jenkins 설정하기 (0) | 2020.11.17 |