Keras는 Theano와 TensorFlow를 모두 지원하는 상위 레벨의 wrapper이다.

Keras는 Torch 처럼 프로그래밍 하듯 딥러닝 구성 할 수 있는 장점이 있다.


파이썬으로 코딩하며 실행시 Theano 코드로 변환되며 Theano는 cuDNN 기반으로 동작한다.


Keras를 윈도우 10에 설치하기는 Linux, OSX에 비하여 조금 번거롭고 복잡한 면이 있다.

차근차근 진행 해 보자.

설치 순서가 매우 중요하므로 건너뛰지 말도록 한다.


준비물:

- Windows 10

- Anaconda for python 3.5

- Visual Studio Community 2015

- Nvidia CUDA 8

- GeForce GTX 960 이상의 그래픽카드


1. CUDA 설치


1. Visual Studio Community 2015 설치


Visual Studio Community 2015를 다운로드 하여 다음과 같이 C++ 모듈을 포함하여 설치한다.

* 글 쓴 시각 기준으로 VS는 2015 버젼까지 존재하며 그 이상의 버젼에 대해서는 호환 테스트 되지 않았다.

만약 마이크로소프트 사이트에서 VS가 2015보다 높게 버젼업 되었을 경우는 아래 링크를 통해 다운로드 한다.

vs_community 2015.exe


2. 윈도우 환경변수에 Visual Studio 경로를 추가한다.


C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin를 윈도우 환경변수 PATH에 추가 해 준다.


3. NVIDIA CUDA 8 설치 및 빌드


NVIDIA CUDA 8를 다운로드 하여 설치한다. 무료로 Nvidia 회원가입 후 다운로드 할 수 있다.

정상적으로 설치가 되었다면 다음과 같은 화면을 확인 할 수 있다.


C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\Samples_vs2015.sln를 실행한다.

(여기서! Program Data 폴더는 숨김 속성이니 폴더가 보이지 않는다고 긴장하지 말자.)


아무 CUDA 샘플 프로젝트에서 마우스 오른쪽 버튼 클릭 > Debug > Start new instance를 한다.

그럼 빌드 확인창이 보이게 된다. Accept 후 예제가 빌드 되어 실행 되는 것을 확인 한다.



CUDA가 설치되면 Display Driver가 옛날 버젼으로 되어 있을 가능성이 높으므로 최신 Nvidia Driver로 업그레이드 한다.


2. Keras 설치


1. Anaconda 설치


Anaconda for Python 3.5를 다운로드하여 설치한다. (64bit로 다운로드 해야한다.)


2. Git 설치


윈도우용 Git을 설치한다.

3. Python 3.4 설치


다운로드 한 Anaconda는 기본적으로 Python 3.5를 포함하고 있다.

Theano는 Python 2.7 또는 Python 3.4 하위 버젼을 지원한다.

Python 3.5 -> 3.4로 다운그레이드 하여 호환을 맞춘다.

$ conda install python=3.4


2. Keras 설치


Keras는 pip를 통해 설치가 가능하다.

Keras는 Backend를 TensorFlow 또는 Theano로 지정해야 때문에 윈도우에서 사용 가능한 Theano를 함께 설치 해 준다.

$ conda install mingw libpython
$ python -m pip install --upgrade theano
$ python -m pip install --upgrade keras

윈도우즈에 인스톨 할 때에는 cmd.exe (명령프롬프트)를 관리자권한으로 실행해야 한다.


3. 설정파일 만들기


기본적으로 Keras는 TensorFlow를 Backend로 설정되어 있다.

Theano를 기본 Backend로 바꾸려면 다음과 같이 설정을 변경 해야 한다.

다음과 같이 Keras를 한번 실행한다. (기본 Backend가 TensorFlow라서 실행 할 수 없다고 할 것이다.)


from keras.models import Sequential
from keras.layers import Dense, Activation

model = Sequential()

model.add(Dense(output_dim=64, input_dim=100))
model.add(Activation("relu"))
model.add(Dense(output_dim=10))
model.add(Activation("softmax"))


그럼 다음과 같이 윈도우 유저 폴더에 keras.json 파일이 존재하게 된다. (만약 없으면 파일을 직접 만들면 된다.)

C:\Users\UserName_BlahBlah\.keras\keras.json



4. backend를 Theano로 설정

Keras.json의 내용을 다음과 같이 수정한다.
{ "image_dim_ordering": "tf", "epsilon": 1e-07, "floatx": "float32", "backend": "theano" }


3. cuDNN 설치


cuDNN을 같이 설치하면 학습 속도가 더욱 빨라진다. 
nvidia에서 cuDNN 4.0을 다운 받아 압축을 풀면 bin, include, lib의 3개의 폴더가 있다. 
내부의 파일들을 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0에 해당되는 폴더로 옮겨주면 된다.




참고:

http://ankivil.com/installing-keras-theano-and-dependencies-on-windows-10/


+ Recent posts