운영체제와 무관하게 진행이 가능합니다(맥으로 진행하였고 혹시 다른 운영체제와 다른 부분이 있으면 내용을 추가할 예정입니다)

 

Python 은 설치를 할 수 있다고 생각하고 진행(3.x 이상 버전으로 진행합니다)

 

혹시 위에 내용이 이해 안되시면 해당링크를 따라해주세요 기초 파이썬 프로그래밍

 

필요한 패키지를 설치해 줍니다

 

pip install numpy scipy matplotlib ipython scikit-learn pandas pillow imageio jupyter

 

설치가 완료 되었다면 작업할 폴더로 이동하여 jupyter notebook을 실행해 줍니다

workspace에서 실행해도 되고 jupyter notebook /workspace/ 로 실행하셔도 됩니다

 

실행화면

탐색기처럼 사용이 가능하며 오른쪽 위에 New를 클릭하여 코드를 저장할 폴더를 만들어 주고 클릭하여 안으로 들어 갑니다

폴더를 새로 만들면 Untitled Folder 로 생성이 되는데 왼쪽 체크 박스를 클릭후 이름을 바꿔 줄수 있습니다

기계학습을 공부할것이니 간단하게 ml로 하겠습니다

체크 박스 클릭후 왼쪽 위에 Rename 클릭 하면 이름을 바꿀수 있다
폴더를 만들고 들어오면 당연히 아무것도 없습니다

폴더로 들어온 이후 오른쪽 위에 New를 클릭하여 Python3 파일을 생성합니다

생성된 Untitled1

코드는 In [] : 뒤에 있는 박스에 작성하면 됩니다 가장 기초적인 hello something을 해보겠습니다

print 함수를 이용하여 내용을 출력할 수 있다

코드를 작성후 Run을 클릭하면 실행이 가능합니다

 

작업에 들어 가기전 세팅을 해봤습니다

 

간단한 파이썬 문법이나 함수등을 머신러닝 코드를 진행하면서 함께 설명하면서 진행할 예정입니다

 

'Machine Learning' 카테고리의 다른 글

구글 클라우드에 Cuda 및 프로그램 세팅  (0) 2017.11.14
Mac Opencv 3.x 설치  (0) 2017.11.05
Yolo9000 Darknet "예제" 실행편  (0) 2017.10.27
Yolo9000 Darknet 설치편  (0) 2017.10.27
Reinforcement Learning  (0) 2017.10.15

저번 포스팅에 이어 생성된 구글 클라우드 플랫폼(GCP)에 Cuda 및 사용할 프로그램을 설치해보도록 하겠다

포스팅의 순서는


1. Cuda & Cudnn 설치

2. tensorflow 설치

3. pytouch 설치

4. caffe 설치


본 설치 방법은 ubuntu 16.04 버전에서 진행 되었다


Cuda 설치


Cuda.설치는 GCP 홈페이지 링크 를 타고 가도 잘 설명이 되어 있다

하지만 블로그에 간략하고 간단하게 요점만 포스팅을 한다면

일단 SSH를 통해 GCP에 접속을 한다


접속을 하면


curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb


을 통해 Cuda 를 다운로드 받을 수 있다.


다운이 완료 되면


sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb


를 통해 설치 준비를 하고


sudo apt-get update


를 통해 package를 업데이트 하고


sudo apt-get install cuda-8-0


을 통해 설치를 할 수 있다

을 통해 설치를 마치면


nvidia-smi


를 통해 설치 된것을 확인 할 수 있다


Cuda를 설치 했다면 많은 알고리즘들이 사용하고 있는 cudnn을 설치 해보자


cudnn을 설치하기 위해서는 Nvidia 사이트로 이동을 해서 받으면 된다

cudnn은 드라이버와 다르게 가입을 해야 받을 수 있으니 가입을 해서 받는다

일단 클라우드에서 다운 받는 법을 몰라 다른 운영체제에서 받아서 복사 해보도록 하겠다


가입을 한 후 cudnn을 받는다


앞으로 사용할 cudnn은 7버전으로 cuda-8에서 사용할 버전을 다운받는다 (cudnn 버전은 사용의 목적에 따라 다른버전으로 받아도 된다)



위 블록으로 설정한 3가지 Runtime-library, deb-lib, doc-lib 3가지를 전부 받는다

3가지를 전부 받았다면 scp 명령어로 클라우드로 3가지 파일을 카피 한다

ssh 접속하는 방법과 비슷하다


scp -I ~/.ssh/my-ssh-key [LOCAL_FILE_PATH] [USERNAME]@[IP_ADDRESS]:~



 를 통해 파일을 전송 할 수 있다

3가지 파일을 전부 전송 하였다면 cuda 설치와 마찬가지로 설치를 하면된다


sudo dpkg -i libcudnn7_7.0.3.11-1+cuda8.0_amd64.deb

sudo dpkg -I libcudnn7-dev_7.0.3.11-1+cuda8.0_amd64.deb
sudo dpkg -I libcudnn7-doc_7.0.3.11-1+cuda8.0_amd64.deb

위에서 부터 cudnn: runtime lib, dev lib, doc lib 이다

설치가 완료가 되면 설치한 doc 을 통해 설치가 잘 되었는지 확인해 볼수 있다

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd  $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make




를 통해 설치한 doc의 sample을 home으로 옴겨온 이후
make를 통해 설치를 마친다
그 이후 ./mnistCUDNN 를 통해 실행을 하면 설치가 잘 되었는지 확인 할 수 있다

Test passed!!  가 뜨면 설치에 성공한 것이다


Tensorflow 설치

Tensorflow 설치는 설치 방법이 여러가지가 있다
Tensorflow 사이트 에서도 확인 할수 있지만 조금 더 간략하게 설명을 하고자 한다
Tensorflow 의 설치 방법에는 
PIP 설치, Virtualenv 설치, Anaconda 설치, Docker 설치 가 있다
먼저 PIP와 virtualenv 설치를 알아 보고 차후 Anaconda와 Docker를 알아보도록 하겠다

-  PIP 설치

PIP는 파이썬의 패키지를 관리해주는 프로그램이다
PIP가 설치되어 있지 않다면 우선 PIP를 설치해 주어야 한다
$ sudo apt-get install python-pip python-dev   # for Python 2.7
$ sudo apt-get install python3-pip python3-dev # for Python 3.n
를 통해 PIP 설치가 가능하다
PIP3는 python3 버전이다

PIP(PIP3)의 설치가 끝났다면 Tensorflow를 설치 할 수 있다

$ pip install tensorflow # Python 2.7; CPU support (no GPU support) $ pip3 install tensorflow # Python 3.n; CPU support (no GPU support) $ pip install tensorflow-gpu # Python 2.7; GPU support $ pip3 install tensorflow-gpu # Python 3.n; GPU support

현재 필요로 하는 python 버전에 맞는 tensorflow를 골라서 설치하면 된다
GPU를 가지고 있기 때문에 GPU버전으로 설치를 한다

설치가 끝난다면

$ python3
>>> import tensorflow
로 설치를 확인한다

만약 삭제를 하고 싶다면

$ sudo pip uninstall tensorflow  # for Python 2.7
sudo pip3 uninstall tensorflow # for Python 3.n

로 삭제해버리면 된다

설치가 안되거나 import tensorflow가 안되는 경우 아래에 따로 정리를 해두겠습니다


- Virtualenv 설치

위에서 python(or python3가 설치되어진 상태로 진행합니다)
PIP혹인 PIP3가 설치되어 있다면

sudo apt-get install python-virtualenv

을 이용해 Virtualenv를 설치 합니다


설치가 완료 되면 

$ virtualenv --system-site-packages targetDirectory # for Python 2.7 $ virtualenv --system-site-packages -p python3 targetDirectory # for Python 3.n

로 가상 디렉토리(?) 를 생성합니다 
targetDirectory에는 생성될 virtualenv의 이름으로 보면 편하게 생각할 수 있습니다
만약 생성될 디렉토리의 이름을 tensor-vir 라고 한다면
virtualenv --system-site-packages tensor-vir 또는 virtualenv --system-site-packages -p python3 virtualenv 로 하면 됩니다

생성하면 디렉토리 목록에 virtualenv가 생성된 것을 확인할 수 있습니다

디렉토리가 생성된 것을 확인했다면

$ source ~/[DirectoryName]/bin/activate # bash, sh, ksh, or zsh $ source ~/[DirectoryName]/bin/activate.csh # csh or tcsh

둘 중 사용할 방법으로 virtualenv 를 activate해줍니다

activate가 된다면 다음과 같이 폴더명이 현재 위치 앞에 괄호로 표시되게 됩니다

(tensorflow)$ easy_install -U pip

을 이용해서 virtualenv 상에 pip을 설치 하고

PIP 에서 설치한 것과 마찬가지로 

(DirectoryName)$ pip install --upgrade tensorflow # for Python 2.7 (DirectoryName)$ pip3 install --upgrade tensorflow # for Python 3.n (DirectoryName)$ pip install --upgrade tensorflow-gpu # for Python 2.7 and GPU (DirectoryName)$ pip3 install --upgrade tensorflow-gpu # for Python 3.n and GPU

를 이용하여 설치를 해줍니다


설치를 확인하는 방법은 마찬가지로

python(또는 python3)를 실행한 후 import tensorflow를 해보면 됩니다

만약 작업이 다 끝났다면 

(DirectoryName)$ deactivate 

를 통해 원래 작업하던 위치로 돌아올 수 있습니다

만약 만들어 뒀던 virtualenv 를 지우고 싶다면

$ rm -r [DirectoryName]

을 통해 삭제하면 됩니다



만약 위 설치데로 하면 libcudnn.so.6 이라는 파일이 없다는 에러가 발생할 수 있다

저렇게 나오는 이유는 현재 tensorflow와 연결된 cudnn이 버전 6이어서 그렇다

일단 python의 tensorflow의 파일을 건드려 연결된  cudnn의 버전을 7 로 만드는법도 있다고는 하지만 가장 편한 방법은 심볼릭 링크를 바꿔주는 것이다

우선 설치된 libcudnn.so.X(버전)의 위치를 찾아 보자

을 통해 파일의 위치를 파악한 후

sudo ln -s [SourceFile] [DestinationFile] 를 통해 심볼릭 링크를 만들어서 사용하면 된다


다음 포스팅은 이어서 pytouch와 caffe 설치를 해보도록 하겠다












'Machine Learning' 카테고리의 다른 글

Python을 이용한 기초 머신러닝 (초보자용)  (0) 2020.11.27
Mac Opencv 3.x 설치  (0) 2017.11.05
Yolo9000 Darknet "예제" 실행편  (0) 2017.10.27
Yolo9000 Darknet 설치편  (0) 2017.10.27
Reinforcement Learning  (0) 2017.10.15

거의 10년동안 Windows만 써오다가 처음으로 Mac을 구매하여 이것 저것 세팅을 하면서 정리를 해보고자 합니다

먼저 제일 많이 사용하고 있는 라이브러리인 Opencv 를 설치해보려고 합니다

일단 아무 것도 세팅 되어 있지 않은 MacBook 이 필요 합니다


우선 설치 순서는

1. Xcode install

2. Cmake install

3. Download Opencv 3.x

4. Build Opencv 3.x

5. Install Opencv 3.x


1. Xcode install

우선 Mac에서 이것 저것 설치 하기 위해서는 Xcode라는 것이 필요한 것으로 보여 App Store를 통해 설치해주었습니다


2. Cmake install 

https://cmake.org 를 통해 Cmake를 다운로드 받아서 설치해 주었습니다



설치 하면 Windows랑 비슷한 녀석이 설치가 됩니다


3. Download Opencv 3.x

https://github.com/opencv 을 통해서 Opencv와 Opencv_Contribute를 받아 올 수 있습니다

Contribute의 사용은 선택적입니다

Opencv_contribute는 기본 Opencv 이외에 tracking 등 기타 기능이 추가되어 있는 module입니다

Opencv 를 전부 다운받았다면 Opencv_contribute안에 있는 module폴더를 복사해서 Opencv 폴더로 카피 해둡니다


4. Build Opencv 3.x

Download가 끝났다면 build를 통해 Opencv 설치를 진행할 수 있습니다

Opencv폴더 내에 build 폴더를 만들고 그 안에 cmake를 통해 build를 진행 할 수 있습니다(꼭 build 폴더가 아니어도 상관없습니다)

Windows 와 마찬가지로 source code에 다운로드 받은 opencv path를 지정해주고 build the 

configure이후 Generate를 하면 make 파일들이 생성이 되고


make 를 통해 설치파일들을 만들 수 있습니다


5. Install Opencv 3.x

설치된 make 파일들은 (sudo) make install 을 이용해 설치 할 수 있습니다

위와 같이 설치가 되면서 끝이 나게 됩니다



다크넷 포스팅입니다


혹시 앞에 과정이 이해가 안되시면 댓글로 남겨주세요


설치가 잘 되었는지 간단한 예제를 통해 학인을 해봐야 합니다 그래야 잘 설치되었나 확인할 수 있습니다


요번에도 Ubuntu와 Windows로 나누어 포스팅하겠습니다


"예제"실행편(Ubuntu 14.04)

"예제"실행편 역시 https://pjreddie.com/darknet/yolo/ 홈페이지를 참고하여 만들었습니다


http://wget https://pjreddie.com/media/files/yolo.weights 을 이용해 실행에 필요한 weight를 받을 수 있습니다

weight를 받으 셨으면 바로 실행할 수 있습니다


./darknet detector test cfg/coco.data cfg/yolo.cfg yolo.weights data/dog.jpg 를 실행하시면




위와 같은 결과를 얻으실 수 있습니다


"예제"실행편 (Windows)

윈도우즈 버전은 제작자가 솔루션을 다 만들어 두어서 솔루션만 실행하시면 됩니다



자신의 세팅에 맞는 솔루션을 실행해 주시면 됩니다

아래 yolo_blahblah.sln들은 추후에 사용할 예정이니 무시하셔도 됩니다

darknet을 gpu와 nogpu 둘중에 실행하시면

darknet.exe 혹은 darknet_no_gpu.exe가 생성됩니다

darknet(or darknet_no_gpu) detector test cfg/coco.data cfg/yolo.cfg yolo.weights data/dog.jpg 로 실행하면됩니다

data와 cfg파일의 위치는 exe파일 기준으로 정해주시면됩니다


다음편은 실행편으로 돌아오겠습니다

요즘 사용하고 있는 딥러닝 프레임워크 Yolov2 Darknet에 관련 포스팅을 하고자 합니다

https://pjreddie.com/darknet/yolo/ 에 가시면 좀 더 정확한 정보를 확인 하실수 있습니다


설치(Ubuntu 14.04)

https://github.com/pjreddie/darknet 에서 Darknet 프로젝트를 확인하실 수 있습니다


git을 통해 프로젝트를 받으셨다면 makefile을 고쳐야 합니다



makefile에 보시면 GPU와 opencv 등을 사용할 것인지 확인을 합니다

각자 맞는 상황에 맞는 세팅을 하시면 됩니다

만약 gpu를 사용하지만 opencv와 cudnn을 사용하지 않는다면 gpu만 1 opencv와 cudnn은 0으로 두시면 됩니다


makefile을 세팅 하셨다면 make를 통해 설치를 마치시면됩니다


설치(Windows)

https://github.com/unsky/yolo-for-windows-v2 에서 윈도우 버전 Darknet 프로젝트를 확인하실 수 있습니다

git에는 opencv2.4.9로만 되어 있지만 3.x 버전에서도 동작되는 것을 확인했습니다

Visual studio를 사용하여 Cuda가 설치되어있는 위치와 opencv의 위치를 잡아 주시면 됩니다



Darknet3rdParty 는 프로젝트에 포함되어있는 3rdparty안에 있는 라이브러리 입니다


위와 같이 세팅해주시고 64bit로 컴파일 하시면됩니다


다음편은 세팅편으로 돌아오겠습니다

Reinforcement Learning(강화학습: RL)은 Interpreter(관리자)가 Agent(로봇) 에게 보상과 상태를 주며 action(행동)을 시키는데 그 action이 맞으면 

reward를(1) 틀리면 punishment(?) 를 줘서 그 행동의 방향을 우리가 원하는 방향으로 바꾸는 알고리즘이다


[그림] 간단한 reinforcement learning 

https://en.wikipedia.org/wiki/Reinforcement_learning


RL은 Machine learning(기계학습: ML) 분야에 많이 사용되는데 ML분야에 기본인 Data를 이용하여 Output을 추론하는 과정에
가장 최적화된 방법을 찾는데 사용된다


ML의 방법에는 크게

Label된 데이터가 필요한 Supervised learning(지도학습)

Label된 데이터가 필요 없는 Unsupervised learning(비지도학습)

이 있는데 Supervised learning의 경우 많은 수의 label된 데이터를 수집하는데 어려움이 있고

Unsupervised learning의 경우에는 학습하는데 어려움이 있다

RL를 사용하여 세상에 존재하는 모든 데이터를 학습함에 있어 Unsupervised learning에 좀 더 최적화된 데이터 분류 방법을

제공함으로서 최적화된 ML 알고리즘을 제작하는데 그 사용방법을 사용한다


다음은 RL에 가장 기초가 되는 MDP(Markov Decision Process)에 대해 간단히 알아보도록 하겠다

+ Recent posts