Virtualenv를 사용한 Tensorflow 설치

Tensorflow를 0.8 버전부터 사용했었지만, 어느새 와서 보니 벌써 정식 릴리즈 1.0 버전을 출시하고, 이제는 CPU 버전이 1.2까지 온 상태더군요. 새삼스럽게도 정말 시간이 빨리 가고 있다는 느낌입니다.



What is Tensorflow ?

이 시점에서 Tensorflow를 모르시는 분들은 아마 없을 것이라 생각되지만, 혹시라도 이 분야에 처음 해보시고, 막상 처음해보는데, 또 뭔지 모르면 곤란하겠죠? 그래서 간단한 이야기를 해보면서 시작해보겠습니다.




Tensorflow: 텐서플로우는 Google에서 개발해서 내놓은 딥러닝/기계학습 라이브러리입니다. 본래 이 라이브러리는 Python 언어만을 지원하였지만, 정식 버전인 1.0 버전을 공개한 이후에는 Java, C, Go 언어에서도 사용할 수 있게 되었습니다.


Tensorflow는 CPU 버전과 GPU 버전으로 나누며 자신이 그냥 연습, 재미로만 해보시는 분들이라면, CPU 버전을 아 나는 GPU 성능도 어느 정도 되고, 좀 더 심층적이고 상용화 하려는 서비스를 개발하려고 한다면, GPU 버전을 사용하시면 됩니다. (단, GPU 버전은 NVIDIA CUDA 8.0 버전을 지원하는 그래픽 카드에서만 동작합니다.)


정식 버전이 출시되기 이전의 Tensorflow는 CPU 버전은 NIX계열 운영체제(Linux, Mac OS X), GPU 버전은 Ubuntu Linux에서만 사용할 수 있었습니다. 지금은 Mac OS X, Windows 에서도 사용할 수 있습니다. 이 포스트에서는 Windows가 아닌 Ubuntu Linux를 사용한 설치 방법에 대해 포스팅 할 것입니다.



Virtualenv

Virtualenv에 대한 설명은 제 블로그 포스트 중 Virtualenv에 대한 포스트를 참고하시기 바랍니다.


가상 환경을 사용한 Python 설치 Virtualenv

아래의 버튼을 클릭하여 설치 방법을 확인하시기 바랍니다.


글 보러 가기



Tensorflow CPU 설치

Tensorflow를 설치하기 전, 반드시 Virtualen와 Python 설치가 선 작업으로 이루어져 있어야 하며, 제 블로그에 있는 Python 카테고리에서 설치에 대한 글들을 확인하실 수 있습니다. 


Python과 Virtualenv 설치가 끝났으면 이제, Tensorflow CPU 버전을 설치해보겠습니다.


$ pip install --upgrade tensorflow

가상 환경에서 위 명령어를 입력해줍니다. --upgrade 옵션은 혹여 자신의 가상 환경에 tensorflow가 이미 있는 경우, 업그레이드를 하라는 옵션입니다.


저는 tensorflow 폴더라는 가상 환경을 만들고, 설치를 수행하였습니다.




Tensorflow GPU 설치

이 세션은 Tensorflow GPU 버전 설치 파트입니다. CPU 버전을 이미 설치하신 분들은 이 세션을 넘기고, 다음 세션에서 예제 코드를 실행하시면 됩니다.

GPU 버전의 설치에는 아래의 준비물이 필요합니다.


- NVIDIA CUDA 3.0을 지원하는 그래픽 카드.

- NVIDIA CUDA 7.5 / 8.0 설치 파일


먼저 NVIDIA CUDA 8.0 설치 파일을 다운로드 받도록 하겠습니다. 아래의 버튼을 클릭하여 사이트에 접속합니다.


Download CUDA 8.0


위 사진대로, Linux, x86_64, Ubuntu, 16.04, runfile을 순서대로 클릭한 후, Download 버튼을 클릭하여 CUDA 8.0을 다운로드 받습니다.


$ chmod +x cuda_8.0.61_375.26_linux.run 

다운로드 받은 파일의 경로로 이동하여, 위 명령어를 실행합니다. (이 명령어는 다운로드 받은 CUDA 설치 파일에 실행 권한을 부여합니다.)


$ ./cuda_8.0.61_375.26_linux.run

설치 프로그램을 실행합니다.


EULA 사용자 계약서에 동의하겠습니까? 라는 문구가 나오면 accept를 입력하고, Enter를 누릅니다.


위 사진대로 절차를 밟으시면, NVIDIA CUDA 설치가 완료됩니다.


그래픽 드라이버 설치 여부 확인을 위해, nvidia-smi 명령어를 실행해봅니다. 만약, 실행되지 않는다면 아래 명령어를 이용해서 드라이버를 설치한 후, 재부팅을 해주시기 바랍니다.


$ sudo apt install nvidia-371 


cuDNN v5.1 설치

이전 버전의 Tensorflow에서는 cuDNN 설치가 선택적이었는데, 이제는 필수가 되었네요. cuDNN을 설치하지 않으면 Tensorflow를 사용할 수 없으므로 설치해야 합니다.

아래의 버튼을 이용해 cuDNN 다운로드 사이트로 이동합니다.


Download cuDNN v5.1


cuDNN을 설치하려면, NVIDIA 사이트에 회원이어야 합니다. 회원이 아니시라면, 회원가입 후에 다운로드가 가능하므로, 반드시 회원 가입 후 진행하시기 바랍니다.


Tensorflow에서는 cuDNN v5.1 버전을 권장하고 있으므로 CUDA 8.0과 맞는 cuDNN v5.1 버전을 클릭해줍니다.


$ sudo mv cudnn-8.0-linux-x64-v5.1.tgz /usr/local/ 

cuDNN을 다운받은 경로에 터미널을 열고, 위 명령어를 입력하여 cuda가 설치된 폴더로 이동시킵니다.


$ sudo tar xvf cudnn-8.0-linux-x64-v5.1.tgz 

위 명령어를 이용해, 압축을 풀어줍니다.



CUDA 환경 변수 설정

이제 거의 다 끝났습니다. 환경 변수만 설정해주면, 여러분들은 문제 없이 Tensorflow를 사용하실 수 있습니다.


# tensorflow Settings 
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda

vim, gedit 등의 에디터를 이용해 ~/.profile 파일을 만들고, 위의 내용을 입력하신 다음 저장합니다. (이미 있다면, 그 밑에 입력하시면 됩니다.) 


GUI 환경을 로그아웃 후, 로그인 합니다. 



예제 코드 컴파일/실행

모든 설치가 끝났습니다. 마지막으로 Tensorflow를 실습하는 시간을 갖도록 하겠습니다. 


위 코드를 입력하고 컴파일 해봅시다.


그러면, 그래프가 나오면서 step이 20씩 증가하고, 증가한만큼 그래프가 다르게 보일 것입니다. 이렇게 나오면 설치가 정상적으로 완료된 것입니다.

(숫자를 랜덤함수로 뽑았기 때문에, 그래프의 모습이 다를 수 있습니다. 그래프 실행 화면만 나타나면 됩니다.)


마치며...

여기까지 Tensorflow 설치에 대한 글이었습니다. 많이 늦은감이 있다고는 생각하지만, 처음 이 학문을 공부하였을 때, 많은 어려움을 느꼈습니다. 처음에는 많이 망설이고, 이 분야를 하고는 싶었지만 학업, 가고자 하는 방향에 대한 준비, 시간의 부족 등이 저의 발목을 많이 붙잡아 이제 이 글을 쓰게 되었습니다.


많은 글을 올리지는 못하겠지만, 틈틈이 공부하면서, Tensorflow 글들을 저의 개발 블로그인 Jekyll에 올릴 예정입니다. 


여기까지 수고 많으셨습니다.


comments powered by Disqus

Tistory Comments 0