IT

R에서 딥러닝 API '케라스(Keras)' 설치하기

유병혁 2017. 11. 1. 10:58

이번 글은 R에서 ‘케라스(Keras)’를 설치하는 방법을 정리해보겠습니다. 먼저, 케라스에 대해 간략히 알아볼까요?


Keras Documentation 공식 홈페이지: https://keras.io/


케라스는 파이썬 딥러닝 라이브러리(Python Deep Learning library)입니다. 즉, 파이썬으로 작성된 딥러닝 함수의

집합이며, 사람이 이해하기 쉬운 고급(high-level) 신경망 API를 제공하여 라이브러리를 쉽게 호출하여 사용할 수 있습니다.


케라스는 텐서플로(TensorFlow), 마이크로소프트 코그너티브툴킷(Microsoft Cognitive Toolkit, CNTK),

시아노(Theano) 라이브러리를 포함한 다중 백엔드(back-end) 위에서 동작하며, 기본 백엔드로는 텐서플로를 사용합니다.

따라서 케라스 라이브러리와 최신 딥러닝 라이브러리의 장점을 모두 이용할 수 있습니다.



텐서플로 공식 홈페이지: https://www.tensorflow.org/



코그너티브툴킷 공식 홈페이지: https://docs.microsoft.com/ko-kr/cognitive-toolkit/



시아노 공식 홈페이지: http://deeplearning.net/software/theano/


케라스는 쉽고 빠른 프로토타이핑이 가능하며, 합성곱 신경망(Convolutional Neural Network, CNN)과 순환 신경망

(Recurrent Neural Network, RNN)을 모두 지원하고, CNN과 RNN의 결합도 가능합니다. CPU, GPU 상에서 원활하게 동작합니다.


[참고] 케라스와 텐서플로 통합하기: 케라스 워크플로우 확장(텐서플로 개발자 강연 2017)


그럼, R에서 케라스를 설치해 보도록 하겠습니다. 설치는 아래 글을 참조하였습니다.
R interface to Keras | https://keras.rstudio.com/


현재 저는 Windows 10 Pro에 R 3.4.2와 RStudio가 설치되어 있습니다.
R 공식 홈페이지: https://www.r-project.org/ | R Studio 공식 홈페이지: https://www.rstudio.com/


RStudio(또는 R)를 실행하고 devtools R 패키지를 설치합니다. 이 패키지를 통해서 깃허브의 케라스 R 패키지를 설치합니다.

케라스 공식 깃허브: https://github.com/rstudio/keras

install.packages('devtools')
devtools::install_github("rstudio/keras")

위 과정에서 Rtools 설치를 요구할 수 있는데요, Rtools는 윈도우에서 R 구동을 위한 프로그래밍 도구의 집합(툴체인)입니다.


library() 함수로 케라스 R 패키지를 불러옵니다. 케라스 R 인터페이스는 텐서플로 백엔드 엔진을 기본값으로

사용하므로, 코어 케라스 라이브러리와 텐서플로 백엔드를 모두 설치하기 위해 install_keras() 함수를 이용합니다.

library(keras)
install_keras()

이때 아나콘다(Anaconda)가 설치되어 있지 않다면 아래와 같은 오류 메시지가 뜹니다.

Error: Keras installation failed (no conda binary found)
Install Anaconda for Python 3.x (https://www.continuum.io/downloads#windows)
before installing Keras.

아나콘다는 ‘파이썬 데이터 사이언스 플랫폼(Python Data Science Platform)’인데요, 파이썬과 함께 데이터 분석에

유용한 넘파이(NumPy), 맷플롯립(matplotlib), 텐서플로 등 데이터 사이언스 라이브러리들을 한 번에 설치해줍니다.

아나콘다(Anaconda) 공식 홈페이지: https://www.anaconda.com/


아나콘다 배포 다이어그램 (그림 출처: https://www.anaconda.com/distribution/)


여기서는 아나콘다 5.0.1 파이썬 3.6 버전 64-Bit를 설치하였습니다. 아나콘다 다운로드: https://www.anaconda.com/download/

혹시, 아나콘다 설치 후 QGIS가 실행되지 않는 분들은 PYTHONPATH를 확인해보시기 바랍니다. 관련 글: https://issues.qgis.org/issues/15155


다시 install_keras() 함수를 실행하면 아래와 같이 텐서플로와 케라스 설치 완료가 안내됩니다.

Installation of TensorFlow complete.
Installation of Keras complete.

케라스와 텐서플로는 CPU 또는 GPU 상에서 실행하도록 환경을 설정할 수 있는데요,

텐서플로는 보통 GPU 상에서 확연히 빠르게 동작합니다. 케라스에서 GPU 버전 설치는 아래와 같습니다.

Install Keras and the TensorFlow backend | https://tensorflow.rstudio.com/keras/reference/install_keras.html

install_keras(tensorflow = "gpu")

위의 GPU 버전을 설치하기에 앞서, 아래 3가지 전제조건이 충족되어야 합니다.


엔비디아 쿠다 툴킷(NVIDIA CUDA Toolkit) 8.0 설치

https://developer.nvidia.com/cuda-toolkit-archive


엔비디아 쿠디엔엔(NVIDIA cuDNN) 6 또는 6.1 설치

https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v6/prod/8.0_20170307/cudnn-8.0-windows10-x64-v6.0-zip


쿠다 연산능력(CUDA Compute Capability)이 3.0 이상인 GPU 카드 확인

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


여기서 쿠다는 엔비디아의 GPU 라이브러리이며, 쿠디엔엔은 쿠다를 기반으로 한 심층신경망(Deep Neural Networks) 라이브러리입니다.

시스템 변수에서 CUDA_PATH, CUDA_PATH_V8_0, Path를 확인합니다.


쿠디엔엔은 압축을 푼 후, cuda\bin 경로를 Path 변수에 추가합니다. CUDA_PATH 위치에 덮어쓰기합니다.


참고로, 쿠다 설치 시 비주얼 스튜디오 설치여부를 확인할 수 있습니다.
Visual Studio Community 2015 | https://imagine.microsoft.com/ko-KR/Catalog/Product/101


이제, R에서 케라스 설치가 완료되었습니다.


다음 글에서는 케라스를 이용한 예제를 정리하고, 이것을 QGIS 'R Script'로 호출해 보겠습니다.