저번 포스팅에 이어 생성된 구글 클라우드 플랫폼(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
Test passed!! 가 뜨면 설치에 성공한 것이다
$ 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 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
만약 삭제를 하고 싶다면
$ sudo pip uninstall tensorflow # for Python 2.7 $ sudo pip3 uninstall tensorflow # for Python 3.n
로 삭제해버리면 된다
설치가 안되거나 import tensorflow가 안되는 경우 아래에 따로 정리를 해두겠습니다
sudo apt-get install python-virtualenv
설치가 완료 되면
$ virtualenv --system-site-packages targetDirectory # for Python 2.7 $ virtualenv --system-site-packages -p python3 targetDirectory # for Python 3.n
생성하면 디렉토리 목록에 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]
을 통해 삭제하면 됩니다
저렇게 나오는 이유는 현재 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 |