Knowledge Map

한성 노트북에서 ubuntu 16.06 LTS + tensorflow-gpu 세팅하기 본문

머신러닝

한성 노트북에서 ubuntu 16.06 LTS + tensorflow-gpu 세팅하기

2018. 6. 30. 07:16

2년전에 한성노트북을 구입했다. 그때 Intel graphic과 nvidia gtx 950m 가 같이 되어 세팅되어 있던 노트북이었는데 그동안 nvidia는 거의 안사용했던거 같다. 그래서 이번에 그것도 사용할 겸 tensorflow-gpu도 사용해볼 겸 해서 한번 세팅을 시작해 보았다.



Ubuntu 16.04 LTS 설치하기

부팅 usb 생성

이전에도 한번 했던 거지만 무한 로딩으로 막혔었는데, 다행히 이번에는 잘 진행할 수 있었다.

윈도우 10에서 ubuntu 16.04 LTS iso를 받아서  Rufus를 이용해서 설치 & 부팅용 USB 만들었다.


https://rufus.akeo.ie/   (검색하면 잘 나오고, 쉽게 할수 있다.)



Ubuntu 16.04 실행

USB를 삽입한 다음에 해당 USB로 부팅되도록한다.

시스템 재시작을 한뒤에 f2를 누르면 CMOS 화면이 나올텐데 거기서 USB 부팅하도록 선택하고 save&restart 한다.

그러면 우분투 화면이 나오면서 여러가지를 선택할 수 있게 나온다.

이 때 e 를 누르면 화면이 바뀐다. 그리고 화면에 [quiet splash] 라는 글자가 있는데 그 위에 한칸 nomodeset 단어를 추가한다. 그다음에 f10을 누르면 화면이 전환되는데 기다리면 설치화면이 나온다.


파티션 같은 경우에는 따로 생성하지 않고 그냥 진행했다. 파티션을 따로 만들고 swap, root, 등을 할당하려면 검색해서 참고하자.


Ubuntu 16.04 설치 이후 설정 및 nvidia 드라이버 설치

설치를 끝내면 다시 재시작이 될텐데, 그냥 바로 화면이 뜨는 경우도 있겟지만, 내 경우에는 그렇지 않았다. 그래서 선택화면에서 안전모드로 들어간 다음에 failsafeX 메뉴를 선택하고 엔터를 누른다. 그러면 바로 뜨는 경우도 있겠지만, 나의 경우 다시 선택화면이 나와서 그냥 resume을 다시 선택하고 엔터쳤더니 다행히 리눅스 화면이 나왔다.


여기서 다른 글들에서는 따로 또 설정에 들어갔는데, 나의 경우 어차피 nouveu를 안쓸것이기 때문에 바로 nvidia 드라이버 설치를 진행하였다. 다른 글들 보면 nvidia 드라이버 설치를 위해서 여러 명령어와 설정을 하던데, [ http://deepjj.tistory.com/9 ] 이 글의 방법이 가장 간단하다! 그냥 system setting --> software & updates --> Additional Drivers에 들어가서 geforce 드라이버를 선택하자. 아마 처음 들어가면 nouveu가 선택되어 있을 것이다. 선택하고 알아서 선택하게 한다음에 nvidia-smi를 타이핑해보면 창이 뜰 것이다. 아니면 재시작을 해보자.


nvidia-smi은 이후 딥러닝 모델을 돌릴 때 gpu 상태체크하기 위해 많이들 참고하게 된다,



CUDA, cuDNN, tensorflow-gpu 및 개발환경 세팅

CUDA 9.0 & cuDNN 7.0 설치

이제 cuda와 cuDnn을 설치하자. 각각 9.2 와 7.1이 있기는 하지만 공식홈에는 9.0과 7.0을 말하므로 최대한 따르기로 했다.


cuda 9.0 설치는 아래 주소를 참고한다. 그냥 tensorflow로 가면 9.2를 받게 된다

https://developer.nvidia.com/cuda-90-download-archive


그리고 ~/.bashrc 에 아래를 추가했다.


export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$PATH


cuDNN 7.0의 경우 cuDNN자체가 회원 가입을 하게 되어 있었다. 검색을 하니 아래의 주소를 확인하면 받을 수 있다.

http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/

(참고 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/   cuda 주소)


libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb     <== 이걸로 받기는 했다.

그다음


sudo dpkg -i libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb

sudo apt-get update

sudo apt-get install libcudnn7-dev=7.0.5.15-1+cuda9.0


를 통해 설치를 했다.



Pyenv & virtualenv 설치

딥러닝을 하다보면 여러가지 모듈을 쓰게 된다. 어떤 경우  tensorflow 1.3, 1.6, 1.8를 각각 프로젝트에 따라서 개별적으로 하는 경우도 있었다. 프로젝트에 따라서 python2, 3, anaconda2, 3를 각각 사용하기도 했다. 그래서 이러한 것들을 관리하기 위해서는 pyenv, virtualenv를 설치하는게 좋다.


sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

$ pip install virtualenv

위의 코드를 다 실행하면 pyenv, virtualenv가 설치 끝난다.



virtualenv 생성 및 tensorflow-gpu 실행

먼저 특정 디렉토리를 생성하고 그안에서 venv를 생성한다. 그 다음 tensorflow-gpu를 세팅 후 테스트 해보자.

$ mkdir test1
$ cd test1

$ virtualenv venv
$ . venv/bin/activate

(venv)$ pip install tensorflow-gpu
(venv)$ python -c 'import tensorflow as tf; print(tf.__version__)'

1.8.0


맨 아래 처럼 버전이 나오면 설치가 성공이다!!!!!!

Comments