[머신러닝] 개요
기본 용어 정리
GPU & CPU
GPU는 비디오, 즉 픽셀로 이루어진 영상을 처리하는 용도로 탄생
CPU에 비해 반복적이고 비슷한, 대량의 연산을 수행하며 이를 병렬적으로(Parallel) 나누어 작업하기 때문에 CPU에 비해 속도가 대단히 빠르다. 영상, 렌더링을 비롯한 그래픽 작업의 경우 픽셀 하나하나에 대해 연산을 하기 때문에 연산능력이 비교적 떨어지는 CPU가 GPU로 데이터를 보내 재빠르게 처리한다.
CPU 는 GPU 보다 더 적은 코어를 갖고 있지만 각각의 코어가 GPU 보다 더 강력한 컴퓨팅 파워를 갖고 있다. 따라서 CPU 는 순차적인 작업 (Sequential task) 에 더 강점이 있다. 반면 GPU 는 CPU 보다 코어수는 많지만 각각의 코어가 GPU 보다 더 성능이 낮기 때문에 병렬적인 작업 (Paralell task) 에 더 강점이있다.
아나콘다(Anaconda)
파이썬은 파이썬 공식 홈페이지에서 받을 수 있으며, pip 툴만을 포함하고 있다. 필요한 패키지나 라이브러리 등을 설치할 때 모두 수동으로 해줘야 한다. 그러나 아나콘다는 파이썬 기본 패키지에 각종 수학/과학 라이브러리들을 같이 패키징해서 배포하는 통합 개발 플랫폼이라고 볼 수 있다.
아나콘다에 포함된 툴들로는 대표적으로 panda, numpy, scipy, sklearn, matplotlib, Jupyter Notebook 등이 있다.
아나콘다를 사용하면 파이썬 버젼별로 가상환경을 만들수도있다.
특정 라이브러리가 파이썬 버전에 종속되는 경우 문제 해결
목적에 따라 여러 개의 독립적인 개발환경을 구성하여 프로그램을 개발할 수 있다.
텐서플로(Tensorflow)
구글에서 공개한 머신러닝 라이브러리
라이브러리란?
다른 사람이 쉽게 사용할수있도록 이미 완성되어있는 코드
머신러닝에 대한 깊은 지식이 있어야 짤수있는 코드를 미리 만들어 대중에게 제공함으로써
산업계에서 머신러닝을 활용할수있도록 함
유사한 라이브러리로 파이토치 등이 존재하지만 파이토치는 연구계에서 많이 쓰인다.
CPU만을 지원하는 버전
만약 NVIDIA의 GPU를 사용하고 있지 않을 경우 반드시 CPU만 지원하는 버전으로 설치하셔야 합니다. GPU를 지원하는 텐서플로우 보다 설치하기 쉽다는 장점이 있어, 처음 텐서플로우를 설치하는 경우 CPU만 지원되는 버전을 추천합니다.
GPU를 함께 지원하는 버전
NVIDIA GPU를 지원하는 버전의 경우 CPU에서 실행되는 버전보다 월등히 빠른 성능을 나타낸다. 따라서, 텐서플로우를 실행하기 위한 사양의 NVIDIA GPU를 갖고 계신 경우 GPU를 지원하는 버전으로 설치해야 보다 빠르게 처리 할 수 있습니다. CPU만 지원하는 텐서플로우 버전보다 성능차이가 크기 때문에 궁극적으로는 GPU를 지원하는 버전으로 사용하는 것이 좋습니다.
케라스(Keras)
케라스(Keras)는 파이썬으로 작성된 오픈 소스 신경망 라이브러리입니다.
텐서플로를 더 쉽게 사용하도록 만든 고수준 API
케라스는 딥러닝 비전문가라도 각자 분야에서 손쉽게 딥러닝 모델을 개발하고 활용할 수 있도록 직관적인 API를 제공하고 있습니다. 케라스는 텐서플로 위에서 동작하는 라이브러리 입니다.
처음 머신러닝, 딥러닝을 시작하고 매우 간단한 것을 제작하거나 빠른 시간 내에 프로토타이핑을 하고자 한다면 Keras가 훨씬 좋은 선택일 수 있습니다.
직관성이 떨어지고 진입 장벽이 높은 Tensorflow와는 달리 일반 Python API 형태로 제공하다보니 사용하기가 훨씬 쉽고 사용자 친화적인 환경을 제공하고 있습니다. 향후 Python 표준 딥러닝 API 형태로 자리 잡을 가능성이 있습니다.
개발 환경 설정
- 아나콘다 설치
- Anaconda Prompt 실행
(base) C:\Users\사용자계정>python --version
- pip 설치 및 최신화
(base) C:\Users\사용자계정>python –m pip install –-upgrade pip
PIP는 Python Package Index (PyPI) 저장소로부터 패키지를 다운받아 설치 및 관리해주는 패키지 매니저
- 가상환경 만들기
프로젝트를 진행할때 여러 라이브러리,패키지 등을 사용할때 충돌문제 또는 특정 버전을 요구하는 경우가 발생한다.
각 프로젝트마다 "독립적인 작업 환경"을 만들어 독립적으로 프로젝트 작업 환경을 구축, 진행하게 할수있다.
#가상환경생성 conda create -n [가상환경이름] python=3.7 # 가상환경이름 및 파이썬 버전 선택 # "c:\users\사용자계정\anaconda3\env\[가상환경이름]" 라는 디렉토리가 생성 #가상환경생성확인 conda env list #가상환경활성화 activate [가상환경이름] #가상환경비활성화 conda deactivate
가상환경별로 파이썬 버전을 다르게 관리할수있다.
- NVIDIA GPU환경 설정
AMD GPU를 사용함으로 이부분은 건너뛴다.
CPU만을 지원하는 버전 사용
- 텐서플로 설치
(base)>activate [가상환경이름]
작업할 가상환경을 활성화 시킨 후 텐서플로 설치 진행
()부분이 base 기본에서 활성화한 가상환경으로 바뀔것이다.
(가상환경이름)>python -m pip install --upgrade pip
pip를 최신버전으로 업그레이드 해준다.
#CPU만 사용하는 버전 (가상환경이름)>conda install tensorflow
텐서플로 설치
- 케라스 설치
(가상환경이름)>pip install keras
케라스 설치, Tensorflow 2.x 버전부터는 기본 포함
- 주피터 노트북 설치
주피터 노트북이란 파이썬의 개발 지원 툴로 사용방법이 간편하며 시각화에 강해 데이터 분석에 주로 사용됩니다.
# 설치 (가상환경이름)>pip install jupyter # 실행 (가상환경이름)>jupyter notebook
위 명령을 입력하면 자동으로 어떤 html 파일을 열면서 브라우저가 실행됩니다. 만약 실행되지 않는다면 http://localhost:8888 으로 접속하거나 위 그림의 맨 마지막 줄에 있는 url을 복사하여 브라우저에서 접속합니다.
- vscode에서 사용하기
Python Extension Pack 설치: 파이썬 프로그래밍을 위해
터미널 gitbash로 변경
(컨트롤 + 쉬프트 + P) 키를 눌러 Command Palette를 열고 Python: Select Interpreter
지정한 가상환경이름 폴더내의 인터프리터를 지정
터미널에서 activate [가상환경이름] : 가상환경 활성화
필수 라이브러리
파이썬 라이브러리를 이용하여 머신러닝을 손쉽게 다룰수있다.
numpy: 행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬의 라이브러리
scipy: 파이썬을 기반으로 하여 과학, 분석, 그리고 엔지니어링을 위한 과학(계산)적 컴퓨팅 영역의 여러 기본적인 작업을 위한 라이브러리
NumPy위에서 구동되는 라이브러리
NumPy의 ndarray를 기본 자료형으로 사용
matplotlib: 자료를 차트나 plot으로 데이터 시각화
pandas: 데이타 분석(Data Analysis)을 위해 널리 사용되는 파이썬 라이브러리 패키지
Reference
'개발자 준비 > Machine learning' 카테고리의 다른 글
머신러닝 마인드맵 (0) | 2022.03.10 |
---|---|
회귀분석(선형회귀 & 로지스틱회귀) (0) | 2022.02.20 |
[머신러닝]K-means (0) | 2021.12.29 |