Windows 에 Python 을 위한 TensorFlow 설치하기


TensorFlow 를 설치하는 방법에는 여러가지가 있습니다. 기본적으로 Python 과 C++ 를 지원하는데, 아시다시피 처음에 Python 만 지원했습니다. 그리고 몇달 전부터 C++ 도 제공하기 시작했지요. 그래서 설치방법 중에서 Python 이 가장 간단합니다.


개인적으로 처음에 C++ 로 소스를 받아서 빌드해보려고 했다가 엄청나게 많은 시간을 낭비했던 경험이 있습니다. 그리고 얻은 교훈이 있지요. "뭐든지 쉬운것부터". 간략히 설명드리자면, C++ 로 빌드하려면 구글에서 만든 Bazel 이라는 빌드툴을 사용해야 합니다. 순수히 CMake 로만 빌드하는 방법도 있긴 한데, 엄청 복잡하고 실패할 확률이 높습니다. 제가 처음에 그렇게 했다가 낭패봤거든요.


모쪼록 이번 포스팅에서는 가장~~ 쉬운 방법인 Python 을 위한 TensorFlow 설치를 해 보도록 하겠습니다. 생각보다 쉽지는 않습니다. 저처럼 운이 없으면 말이죠. :)




설치에 앞서 필요한 것들




당연한 이야기지만, TensorFlow 를 설치하려면 Python 이 먼저 설치되어 있어야 합니다. 그런데 문제는 버전이 3.5 만 된다는 것입니다. 다른 버전을 사용하려면 TensorFlow 의 소스를 다운받아서 직접 빌드하는 수 밖에 없습니다. 윈도우에서 그렇다는 이야깁니다. 리눅스나 Mac 에서는 다른 이야깁니다.


모쪼록 저는 Python 의 Pip 를 통해서 쉽고 간단히 Python 을 설치할 것이므로 Python 3.5.3 버전을 다운받았습니다. 참고로 현재 포스팅하는 시점에 Python 의 최신버전은 3.6 입니다.







[사전에 설치할것]


1. Python

 - 3.5 설치를 권장

 - 왜냐면 TensorFlow 의 가장 간단한 설치방법이 Pip 를 이용하는 것이데, 이게 현재 Python 3.5 에서만 지원함(그 이상 버전은 확인 못해봄)


 - 근데 이게 3.5 설치가 간혹 윈도우에 안되는 경우가 있음. (0xc80003f3: Failed to execute MSU package.)

 - 이때 내 컴퓨터의 '윈도우 업데이트' 를 눌러서 업데이트가 가능한지 확인해볼 필요가 있음.

 - 안되면, 아래처럼 먼저 해야됨



먼저 윈도우 서비스항목에서, windows update 를 중지함.


regsvr32 MSXML3.dll /s
net stop wuauserv
cd /d %windir%\SoftwareDistribution
rd /s /q DataStore
net start wuauserv 
regsvr32 softpub.dll 
regsvr32 mssip32.dll


이 내용을 메모장을 열어서 입력.

그리고나서 .bat 확장자로 저장.

마우스 우클릭해서 '관리자 권한으로 실행'

그리고나서 C:\Windows 폴더에 있는 SoftwareDistribution 폴더를 찾아서 이름을 바꿈(지우란 소리랑 같지)

그리고나서 서비스에서 windows update 서비스를 다시 시작함.


이제 윈도우 업데이트가 되는지 확인함.


그래도 안되면 윈도우 업데이트 먼저 실행





2. CUDA 설치

 - https://developer.nvidia.com/cuda-downloads

 - 중요한건 다운로드 받은 뒤에, '관리자 권한으로 실행' 을 해야함. 아니면 설치 안됨 (삽질함)

 - 홈페이지 메인에는 리눅스에서만 된다고는 되어 있는데, 정황상 윈도우도 되는듯.




3. Pip Install 하기 위해서는, DLL 설치가 필요함.

 - MSVCP140.DLL 이 %PATH% 경로들 중에 없으면 설치해야 함. 

 - https://www.microsoft.com/en-us/download/details.aspx?id=53587





[설치]


1. GPU 버전을 설치할거면 아래꺼.

C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.1-cp35-cp35m-win_amd64.whl


안할꺼면 아래꺼(Only CPU)

C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.1-cp35-cp35m-win_amd64.whl




우리는 CUDA 설치했으니까, GPU 버전으로 설치해 보자.(근데 리눅스가 아닌데..되려나?)




[확인]

제대로 설치됬는지 확인해 보자.

TensorFlow 에서 제공해주는 확인용 샘플코드.




$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>



된다!!!!!!!!!!!!!





이제 https://tensorflowkorea.gitbooks.io/tensorflow-kr/g3doc/get_started/basic_usage.html 를 보고 공부하자.