반응형
https://www.youtube.com/watch?v=wb4F1aeZtRA
위 영상을 시청하고 실습한 결과를 포스팅한다.
Google Colab 사양 확인
플랫폼 확인
입력
import platform
platform.platform()
결과
Linux-5.15.109+-x86_64-with-glibc2.35
운영체제 확인
입력
!cat /etc/issue.net
#'!'으로 명령 프롬프트에 명령어를 입력
#'cat(concatenate)' 명령어로 파일의 내용 출력
#'/etc/issue.net' 는 리눅스의 배너파일이다. login 이전 줄에 이 파일에 저장된 배너를 출력한다.
결과
Ubuntu 22.04.2 LTS
CPU 사양 확인
입력
!cat /proc/cpuinfo
#리눅스 운영체제에서 탑재된 CPU의 정보는 '/proc/cpuinfo'라는 가상 경로에 저장되어 있다.
#'vender_id'는 intel, amd 등 여러 cpu 브랜드 중 하나가 출력. 클라우드 환경이기에 노트북마다 다름.
결과
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) CPU @ 2.00GHz
stepping : 3
microcode : 0xffffffff
cpu MHz : 2000.200
cache size : 39424 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 mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa mmio_stale_data retbleed
bogomips : 4000.40
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 : 85
model name : Intel(R) Xeon(R) CPU @ 2.00GHz
stepping : 3
microcode : 0xffffffff
cpu MHz : 2000.200
cache size : 39424 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 mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat md_clear arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa mmio_stale_data retbleed
bogomips : 4000.40
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
메모리 사양
입력
!cat /proc/meminfo
#메모리의 정보가 저장된 가상경로로 파일을 읽었다.
#"proc"는 "process information"의 줄임말이다. /proc 디렉토리에는 시스템의 여러 가지 정보와 프로세스 관련 데이터를 가상 파일 시스템으로서 제공한다.
결과
MemTotal: 13294252 kB
MemFree: 8681788 kB
MemAvailable: 12219632 kB
Buffers: 335080 kB
Cached: 3393248 kB
SwapCached: 0 kB
Active: 634272 kB
Inactive: 3659844 kB
Active(anon): 1060 kB
Inactive(anon): 566092 kB
Active(file): 633212 kB
Inactive(file): 3093752 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 132 kB
Writeback: 0 kB
AnonPages: 564100 kB
Mapped: 289516 kB
Shmem: 1364 kB
KReclaimable: 103668 kB
Slab: 143188 kB
SReclaimable: 103668 kB
SUnreclaim: 39520 kB
KernelStack: 4480 kB
PageTables: 10508 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6647124 kB
Committed_AS: 2011844 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 73300 kB
VmallocChunk: 0 kB
Percpu: 1320 kB
HardwareCorrupted: 0 kB
AnonHugePages: 18432 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 160568 kB
DirectMap2M: 5079040 kB
DirectMap1G: 10485760 kB
디스크 사양
입력
!df -h
#'df'는 'disk free'의 줄임말이다. 디스크의 사용량, 여유공간을 확인할 수 있다.
#-h 옵션은 human-readable의 줄임말이다. 단위를 인간이 이해하기 쉬운 KB. MB, GB형식으로 출력한다.
결과
Filesystem Size Used Avail Use% Mounted on
overlay 79G 25G 54G 32% /
tmpfs 64M 0 64M 0% /dev
shm 5.7G 0 5.7G 0% /dev/shm
/dev/root 2.0G 1.1G 887M 55% /usr/sbin/docker-init
/dev/sda1 80G 51G 29G 65% /opt/bin/.nvidia
tmpfs 6.4G 156K 6.4G 1% /var/colab
tmpfs 6.4G 0 6.4G 0% /proc/acpi
tmpfs 6.4G 0 6.4G 0% /proc/scsi
tmpfs 6.4G 0 6.4G 0% /sys/firmware
입력
!df
#이용 가능한 공간과 사용 가능한 공간을 KB 단위로 출력하여 보기 불편하다.
결과
Filesystem 1K-blocks Used Available Use% Mounted on
overlay 81987992 25551168 56420440 32% /
tmpfs 65536 0 65536 0% /dev
shm 5958656 0 5958656 0% /dev/shm
/dev/root 2003760 1095616 908144 55% /usr/sbin/docker-init
/dev/sda1 83351516 53421104 29914028 65% /opt/bin/.nvidia
tmpfs 6647124 156 6646968 1% /var/colab
tmpfs 6647124 0 6647124 0% /proc/acpi
tmpfs 6647124 0 6647124 0% /proc/scsi
tmpfs 6647124 0 6647124 0% /sys/firmware
파이썬 버전 확인
입력
!python --version
결과
Python 3.10.12
Google Colab 런타임
- Colab에서 고성능 하드웨어로 GPU나 TPU 사용 가능
- 런타임 유형 변경(Change runtime type) 필요
- None: CPU만 사용
- GPU: 하드웨어 가속으로 GPU 사용
- TPU: 하드웨어 가속으로 TPU 사용
Google Colab 상단 목록의 [런타임] -> [런타임 유형 변경]을 통해 런타임 유형 변경이 가능하다
입력
!nvidia-smi
#현재 GPU 확인
#GPU를 사용하지 않을 때 - /bin/bash: line 1: nvidia-smi: command not found
#런타임 유형 변경으로 GPU를 사용하면 아래와 같은 결과가 나온다. Tesla T4를 사용중이다.
결과
Fri Aug 4 15:41:21 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |
| N/A 36C P8 9W / 70W | 0MiB / 15360MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
파일 저장 및 다운로드/업로드
Jupyter Notebook 환경에서 파일 저장 및 다운로드
입력
%lsmagic
#이번 실습에선 매직커맨드를 사용할 예정이라 다양한 매직 커맨드 목록을 조회해본다.
#'ls'는 'list'의 줄임말이다.
#'매직 커맨드(magic command)'는 IPython 인터프리터에 추가된 특수 명령어다.
#alias 등록, 스크립트 실행, 명령어 실행 시간 확인 등의 기능이 있습니다. 매직 커맨드는 명령어 앞에 % 기호를 붙인다.
결과
Available line magics:
%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %conda %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 %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 %%markdown %%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.
입력
#셀 단위에서 매직커맨드를 실행할 때는 %%를 사용한다.
#명령어 아래의 텍스트들을 전부 txt 파일로 만든다
%%writefile NotebookTest.txt
text
test
jupyterNobebok
결과
Writing NotebookTest.txt
입력
!cat NotebookTest.txt
결과
text
test
jupyterNobebok
입력
from google.colab import files
files.download('NotebookTest.txt')
#Google Colab 에서 내려받고 싶은 파일을 내려받는 명령어
결과: 파일이 컴퓨터 디스크에 다운로드 된다.
입력
upload = files.upload()
#Google Colab에 파일 업로드
결과
입력
!ls
#파일이 제대로 업로드 되었는지 확인. 업로드한 파일과 writefile 명령어로 만든 txt 파일들이 보인다.
결과
NotebookTest.txt sample_data
Google Drive 연동
- Google Colab은 Google Drive와 mount를 통해 쉽게 연동 가능
- Google Drive에 소스 코드 저장 뿐만 아니라 파일을 열거나 저장 가능
입력
from google.colab import drive
drive.mount('/content/drive')
#내 구글 드라이브를 해당 경로로 마운트
결과
Mounted at /content/drive
입력
!ls /content/drive
#잘 마운트 되었는지 확인
결과
MyDrive
반응형
'프로그래밍 > IT 이것저것' 카테고리의 다른 글
docker context에 대해 (colima와 desktop-lunux) (0) | 2023.08.22 |
---|---|
Google Colab 사용법 정리 - 2.Jupyter Notebook (0) | 2023.08.05 |
온라인 무료 클라우드 주피터 노트북 환경 선택 (chatGPT) (0) | 2023.07.30 |
구글 colab 세션 끊김 문제 (chatGPT) (0) | 2023.07.30 |
XML, JSON, YAML이 뭔가요? (0) | 2023.07.30 |