저번 포스팅에 이어 생성된 구글 클라우드 플랫폼(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

+ Recent posts