가상 머신과 비슷한 개념이지만, 더 가볍고 효율적.
'일회용 가상 컴퓨터'
개인 PC에서 진행하려면 아래와 같은 개발 환경 필요
Ubuntu18.04
Python3.7.9
TensorFlow2.4.1
OS(Operating System): 운영체제는 컴퓨터의 하드웨어를 관리하는 역할을 한다.
작업 관리, 데이터 관리, 프로그램 제어 등 모든 컴퓨터가 공통적으로 수행해야 할 복잡하고 다양한 기능들을 모아 만든 소프트웨어
Ubuntu: 리눅스 기반으로 만들어진 운영체제
범용적인 목적으로 만들어진 언어.
자유도가 높은 언어로, AI 분야에서 매우 활발하게 사용
오브젝트(object) 중심의 언어
머신러닝/딥러닝에 특화된 라이브러리
library
: 특정 기능을 위한 여러 함수 또는 클래스를 담고 있는 개념
(비슷한 개념으로 패키지, 모듈이 있음)
TensorFlow 이외에도 PyTorch
, Keras
와 같은 라이브러리도 머신러닝, 딥러닝에 특화되어 있음
폴더나 파일을 관리하거나 실행하고, 여러 명령을 통해 복잡한 작업들을 수행할 수 있도록 함
Window의 탐색기, Mac의 파인더와 비슷한 역할.
GUI
: Graphical User Interface, 사용자가 눈으로 확인하며 작업할 수 있는 환경.
terminal
, shell
차이: 터미널 위에 쉘이 실행되는 것.
# 파이썬 실행
$ python
# tesorflow 라이브러리를 tf라는 이름으로 가져오기
>>> import tensorflow as tf
# 텐서플로우 버전 확인
>>> print(tf.__version__)
# 터미널 종료
>>> exit()
# 내 이름 확인하기
$ whoami
# 경로 출력
$ pwd
# 파일 목록 확인
$ ls
# 모든 파일 목록 확인 (숨김파일까지)
$ ls -al
# 원하는 디렉토리 이동
$ cd 디렉토리 명
$ pwd
#상위 폴더로 이동
$ cd ..
$ pwd
# home directory 이동
$ cd ~
$ pwd
pwd
: print working directory
ls
: list
a
: 숨김 파일까지 모두 출력
l
: 자세히(long format) 정보 출력
cd
: change directory
~
: home directory
# 폴더 생성
$ mkdir new_folder
$ ls
# 폴더 삭제
$ rm -r mew_folder
$ ls
# 파일 이동
$ mv new_folder aiffel
# 파일 복사
$ cp -r new_folder ..
mkdir
: make directory
rm
: remove. 일반파일 삭제
-r
: recursive. 하위 디렉터리, 파일에 모두 적용(삭제, 복사 등에 적용)
mv
: move.
:
통합 개발 환경.
다양한 코드 편집 기능을 통해 코드 작성을 편리하게 해주고 완성된 코드들을 자동으로 빌드.
문제가 있을 경우 디버깅 또한 편리하게 할 수 있도록 도와줌
많이쓰는 IDE: PyCharm, Spyder, PyDev, IDLE, Wing
특정 기능을 하는 작은 프로그램 단위.
라이브러리와 비슷한 개념(패키지가 조금 더 큰 범위를 포괄).
# 설치된 패키지 리스트 확인
$ sudo apt list --installed
# 특정 단어를 포함하는 패키지만 출력
$ sudo apt list --installed | grep 패키지명
# 패키지 인덱스 정보 업데이트
$ sudo apt-get update
# 패키지 버전 업데이트
$ sudo apt-get upgrade
# cmatrix 설치해보기
$ sudo apt-get install -y cmatrix
# 패키지 삭제하기
$ sudo apt-get remove cmatrix
apt-get
: 우분투에서 패키지를 관리하기 위해 주로 쓰이는 명령어
sudo
: 다른 사용자의 권한으로 실행
-y
: 설치 중간에 나오는 질문들에 대해 모두 yes로 답하겠다는 옵션
가상 환경은 독립된 공간을 만들어주는 기능
package
: 특정 기능을 위한 함수 또는 클래스를 담고 있는 보따리로서, 라이브러리, 모듈과 비슷한 개념
virtual environment
: 컴퓨터에 설치된 패키지 간의 충돌 또는 패키지 버전에 의한 이슈 등을 방지하기 위해 가상으로 나눠서 사용하는 환경.
가상 환경 관리자.
데이터 사이언스와 관련된 여러 라이브러리를 포함하여 사용하기 편리함.
# conda 설치 경로 확인
$ which conda
# conda 버전 확인
$ conda --version
# 가상화면 생성하기
$ conda create -n 가상환경_이름 python=3.7.9
#가상환경 리스트 확인
$ conda env list
# 가상환경 활성화
$ conda activate 가상환경_이름
# CommandNotFoundError 에러가 뜰 경우
$ conda init
# 가상환경 내에 설치되어 있는 라이브러리 리스트 확인
$ pip list
# 텐서플로우 확인, 설치
$ pip list | grep tensorflow
$ pip install tensorflow==2.4.1
# 가상환경 종료
$ conda deactivate
# 가상환경 삭제
$ conda env remove -n 가상환경_이름