1.1 윈도우에서 Tensorflow 설치하기 (GPU 버전)


2017/03/01 - [Tensorflow] - 1. 윈도우에서 Tensorflow 사용하기 (CPU 버전)



앞선 글에서는 윈도우에서 native pip을 사용하여 Tensorflow를 사용하는 방법을 알아보았다.


하지만 해당글에서 나온 설치방법만으로는 tensorflow-gpu를 제대로 사용할 수 없는데, 몇가지 툴셋들이 빠져있기 때문이다.


이번 글에서는 어떤것을 어떻게 깔아야 하는지 간략하게 알아보자.



1. 지금 상황은?

필자의 Tensorflow 설치법을 따라서 tensorflow-gpu를 설치했다면, python에서 tensorflow를 불러올 때 아래와 같은 에러가 뜨게 된다.


>>> import tensorflow

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:126] Couldn't open CUDA library cublas64_80.dll

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_blas.cc:2294] Unable to load cuBLAS DSO.

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:126] Couldn't open CUDA library cudnn64_5.dll

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:3517] Unable to load cuDNN DSO

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:126] Couldn't open CUDA library cufft64_80.dll

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_fft.cc:344] Unable to load cuFFT DSO.

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library nvcuda.dll locally

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:126] Couldn't open CUDA library curand64_80.dll

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_rng.cc:338] Unable to load cuRAND DSO.


쉽게 요약하자면 tensorflow-gpu를 깔아놓고 정작 필요한 라이브러리는 없다.. 라고 오류메시지가 뜨고 있다.


이는 아래의 CUDA Toolkit 과 cudnn이 없어서 발생하는 이슈이므로 설치를 진행하자


2. CUDA Toolkit 8.0

우선 CUDA (이하 '쿠다')란 "Compute Unified Device Architecture"의 약자로써, 간단하게 말해 사용자가 가지고 있는 GPU를 사용하여 병렬 컴퓨팅을 할 수 있게 해주는 라이브러리... 정도로만 이해하면 된다.


NVIDIA CUDA toolkit 공식홈페이지



위의 링크에서 본인의 시스템 사양에 맞는 옵션을 선택 후

다운로드를 받으면 된다.


설치자체는 큰 어려움이 없으니 그대로 진행하면 된다.


3. cuDNN v5.1



cuDNN은 NVIDIA에서 제공하는 Deep Neural Network용 라이브러리로써, 다운받으려면 NVIDIA 계정이 필요하다. 구글계정으로 간단하게 로그인연동 할 수 있으니, NVIDIA 계정이 없는 독자들은 이번기회에 만들어 놓자


로그인 후 다운로드를 누르면 아래 사진처럼, 라이선스 사용 동의 체크 후 여러가지 옵션이 나온다. 필자는 CUDA 8.0에 Windows 10이니 cuDNN v5.1 Library for Windows 10을 선택했다.




cuDNN은 zip파일 형식으로 다운되는데, 따로 path를 잡아줄 필요 없이, 다운받은 zip파일의 내용물을 CUDA와 합쳐주자.



cuda 폴더 통째로가 아닌 bin, include, lib을 바로 넣어준다


(※보통 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0 에 넣어주면 된다.)



4. 실행 테스트

이제 필요한 모든 것들이 설치되었으므로, python에서 다시한번 tensorflow를 불러와본다.


C:\>python

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>>

>>> import tensorflow as tf


I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cublas64_80.dll locally

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cudnn64_5.dll locally

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cufft64_80.dll locally

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library nvcuda.dll locally

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library curand64_80.dll locally


전부 successfully opened로 되어있는 것을 볼 수 있다.


이상으로 Tensorflow GPU버전에 대한 설명을 마친다.







COMMENT WRITE

  1. 넘나친절하세용^^~