FUNDAMENTAL | 01. terminal, 가상환경

yeonk·2021년 9월 8일
0

aiffel-ai-bootcamp

목록 보기
2/38
post-thumbnail

20210907🙄



1. 개발 환경

클라우드 컨테이너

가상 머신과 비슷한 개념이지만, 더 가볍고 효율적.
'일회용 가상 컴퓨터'

개인 PC에서 진행하려면 아래와 같은 개발 환경 필요

Ubuntu18.04
Python3.7.9
TensorFlow2.4.1






OS & Ubuntu 18.04

OS(Operating System): 운영체제는 컴퓨터의 하드웨어를 관리하는 역할을 한다.
작업 관리, 데이터 관리, 프로그램 제어 등 모든 컴퓨터가 공통적으로 수행해야 할 복잡하고 다양한 기능들을 모아 만든 소프트웨어


Ubuntu: 리눅스 기반으로 만들어진 운영체제

OS(운영체제)
Ubuntu(우분투)






Python 3.7.9

범용적인 목적으로 만들어진 언어.
자유도가 높은 언어로, AI 분야에서 매우 활발하게 사용
오브젝트(object) 중심의 언어






TensorFlow2.4.1

머신러닝/딥러닝에 특화된 라이브러리

library: 특정 기능을 위한 여러 함수 또는 클래스를 담고 있는 개념
(비슷한 개념으로 패키지, 모듈이 있음)

TensorFlow 이외에도 PyTorch, Keras 와 같은 라이브러리도 머신러닝, 딥러닝에 특화되어 있음

TensorFlow






2. Terminal

CLI(Command Line Interface)

폴더나 파일을 관리하거나 실행하고, 여러 명령을 통해 복잡한 작업들을 수행할 수 있도록 함
Window의 탐색기, Mac의 파인더와 비슷한 역할.

GUI: Graphical User Interface, 사용자가 눈으로 확인하며 작업할 수 있는 환경.

terminal, shell 차이: 터미널 위에 쉘이 실행되는 것.

터미널, 쉘, 콘솔






terminal, python 사용하기

  # 파이썬 실행
  $ 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(Integrated Development Environmment)

통합 개발 환경.
다양한 코드 편집 기능을 통해 코드 작성을 편리하게 해주고 완성된 코드들을 자동으로 빌드.
문제가 있을 경우 디버깅 또한 편리하게 할 수 있도록 도와줌

많이쓰는 IDE: PyCharm, Spyder, PyDev, IDLE, Wing

커맨드 라인






패키지 (Package)

특정 기능을 하는 작은 프로그램 단위.
라이브러리와 비슷한 개념(패키지가 조금 더 큰 범위를 포괄).

# 설치된 패키지 리스트 확인
$ 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로 답하겠다는 옵션

apt-get 명령어 사용법






3. 가상환경

가상 환경은 독립된 공간을 만들어주는 기능

package: 특정 기능을 위한 함수 또는 클래스를 담고 있는 보따리로서, 라이브러리, 모듈과 비슷한 개념

virtual environment: 컴퓨터에 설치된 패키지 간의 충돌 또는 패키지 버전에 의한 이슈 등을 방지하기 위해 가상으로 나눠서 사용하는 환경.





아나콘다(Anaconda)

가상 환경 관리자.
데이터 사이언스와 관련된 여러 라이브러리를 포함하여 사용하기 편리함.

아나콘다 설치, 가상환경 구축






가상환경 생성, 실행

# 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 가상환경_이름

0개의 댓글