본문 바로가기
Tensorflow

20. Windows(윈도우)에 Tensorflow(텐서플로) GPU 설치하기

by 대소니 2016. 12. 18.


Tensorflow v0.12 부터 Windows 지원



이번에 업데이트가 된 TensorFlow v0.12.0 RC1 에서부터 windows OS에서도 Tensorflow를 사용이 가능하도록 지원이 되었습니다. (현재 2017년 7월 최신버전은 1.2버전입니다)


https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html?1480466252369=1


아주 편리하고 쉽게 설치가 가능해졌고, Nvidia 그래픽 카드를 이용한 GPU도 마음것 사용이 가능하게 되었습니다.


이제부터 Windows 로컬 PC에 설치하는 방법에 대해서 정리를 해보겠습니다. 사진들은 클릭하면 확대됩니다.




설치준비 - 파일 다운로드



ANACONDA3 4.2.0 : https://www.continuum.io/downloads#windows


아나콘다 패키지는 python의 유용한 library들을 한번에 설치할 수 있게 해줍니다. 

텐서플로 Windows 버젼에서는 python 3.5 이상만 지원합니다. 다운로드 받으실때 3.5 버젼으로 받도록 합니다.




CUDA 8.0.44 -win : https://developer.nvidia.com/cuda-downloads


Nvidia에서 제공하는 병렬처리 연산을 위한 플래폼입니다. 그래픽카드의 GPU를 사용하기 위한 환경을 제공합니다.

최신 버젼인 8 버젼으로 사용하는 OS에 맞추어 다운로드를 받습니다.





cuDNN 5.1 : https://developer.nvidia.com/cudnn


Nvidia의 CUDA 환경에서 Deep Neural Network을 지원해주는 library입니다.

다운로드 받기 위해서는 회원가입을 해야합니다. 그리고 CUDA 8 버젼에 맞는 cuDNN 5.1을 다운로드 합니다.

다운로드 받은 압축파일을 해제하고 3개의 파일을 CUDA 설치 경로에 똑같이 복사해 넣어주면 됩니다.






설치 시작



1. ANACONDA 설치


다운로드 아나콘다 파일을 실행하여 설치합니다.

굳이 All user로 사용하게 설치할 것이 아니라면 그냥 다음만 누루면 설치가 됩니다.

설치가 되면 기본적인 path와 환경설정들까지 셋팅이 됩니다.


아나콘다 패키지에는 기본적으로 python과 jupyter notebook등이 포함되어 있습니다.


기본경로 : C:\Users\username\Anaconda3



2. CUDA 설치


Nvidia의 플래폼인 CUDA 파일을 실행하여 설치합니다.

자동으로 설치가 되면서 그래픽 카드 드라이버도 업데이트가 되니 확인만 눌러주시면 됩니다.


기본경로 : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0



3. cuDDN 파일 복사


압축파일을 해제하여 나오는 3개 파일을 CUDA 기본경로에 복사해줍니다. (bin, include, lib)



4. Anaconda Prompt 실행


아나콘다가 설치되면서 윈도우즈 프로그램에 관련 매뉴가 생성이 됩니다.

Prompt를 실행하면 아나콘다 환경의 프롬프트 창이 열립니다.




5. Tensorflow-GPU 설치


Anaconda Prompt 상에서 pip 명령을 사용해서 tensorflow를 설치합니다.


pip install tensorflow-gpu


이미 설치가 되어 있어 업데이트가 필요하면 아래와 같이 명령어를 입력합니다.

특정 버전으로 설치하기 위해서는 아래와 같이 설치버전을 변경합니다.


pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.0.0rc0-cp35-cp35m-win_amd64.whl







6. 설치 테스트


윈도우 프로그램 목록에서 Jupyter Notebook을 실행합니다.

실행이 되면 자동으로 브라우저에 로컬에 설치되어 있는 jupyter 가 뜨게 될겁니다.


test 폴더를 생성하고 해당 폴더내에서 new python[default] file을 선택합니다.




예제 소스를 입력해봅니다.


import tensorflow as tf

hello = tf.constant('Hello, TensorFlow!')

sess = tf.Session()

print(sess.run(hello))


정상적으로 Hello, TensorFlow! 가 보여지면 설치가 완료가 되었습니다.^^




7. 성능 테스트


CIFAR-10를 이용한 Tensorflow 예제를 실행해 보고 성능을 비교해 보도록 하겠습니다.


이전에 포스팅했던 CNN 관련 내용에서 사용했던 소스를 가져와서 실행을 해보았습니다.

http://daeson.tistory.com/entry/18-Tensorflow-시작하기-Convolutional-Neural-Networks-이미지-프로세싱


실행을 하면, (실행하는 방법은 댓글을 참조해주세요)

자동적으로 이미지 데이터를 다운로드 받습니다.

받은 이미지 데이터들과 log 파일들은 C:\tmp 경로에 생성이 됩니다.



제가 사용하는 그래픽 카드 관련 정보가 나타납니다.

GeForce GTX 750 Ti, 2G Mem



학습 속도는 이전 포스팅의 내용과 비교했을때와 10배이상 되는 것 같습니다.

batch 당 0.16초로 step 30000까지 약 1시간 20분정도 걸리고 있습니다.



디폴트로 100만 step으로 셋팅이 되어 있었네요 ㅜㅜ

혹시 실행하실분은 100K로 변경하고 하시길 바랍니다.


결과는 아래와 같이 약 1일 6h 학습을 진행하여 약 700K step까지 이루어졌습니다.

만약 100K step으로 환산을 해보면 약 4시간 정도가 될것 같습니다.



평가를 해보면 약86%의 정확도로 나타납니다.



그리고 Anaconda Prompt에서 tensorboard를 실행시킵니다.

C:\>tensorboard --logdir=/tmp/cifar10_train


콘솔창의 마지막에 보여지는 URL을 복사해서 브라우저로 접속합니다.





만약 그래픽 카드가 1070이나 1080이면 얼마나 차이가 날런지 궁금하기도 합니다. 

해보신 분들이 계시면 함께 결과를 공유해주시면 좋을 것 같습니다~



가상환경을 생성하고 Pycharm 이용을 위한 설정하기


댓글