IT

QGIS 딥러닝을 위한 케라스(Keras)와 텐서플로(TensorFlow) 설정하기

유병혁 2017. 12. 7. 01:50

안녕하세요? QGIS 3 출시를 앞두고 현재 QGIS 2.99 버전이 배포 중인데요, 이 버전을 이용하여

딥러닝 API '케라스(Keras)'와 백엔드 엔진 '텐서플로(TensorFlow)' 설정방법을 정리해 보겠습니다.


QGIS 2.99 버전의 설치는 아래 OSGeo4W 네트워크 설치관리자에서 qgis-dev를 선택하시면 됩니다.

OSGeo4W 네트워크 설치관리자 (64 bit) | https://www.qgis.org/ko/site/forusers/download.html


아래와 같이 Advanced Install 선택 후, qgis-dev를 설치합니다. 파이썬 3에서 HDF5 파일을 읽고 쓰는 python3-h5py도 미리 설치합니다.




QGIS 2.99에서 사용할 배치 파일은 아래와 같이 2개입니다.

  • C:\OSGeo4W64\OSGeo4W.bat
  • C:\OSGeo4W64\bin\qgis-dev-g7.2.2.bat



OSGeo4W Shell을 우클릭하고 '관리자 권한으로 실행'합니다.


윈도우용 텐서플로는 파이썬 3.5 이상을 요구하는데,

QGIS 2.99 버전은 아래와 같이 파이썬 3.6 버전을 지원합니다.


혹시 python3이 실행되지 않으면 o4w_env.bat 파일의 환경변수 설정을 확인해 보시기 바랍니다.

set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python36
set PYTHONPATH=%OSGEO4W_ROOT%\apps\Python36


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

확연히 빠르게 동작합니다. 텐서플로 GPU 버전 설치를 위해서는 아래 3가지 부분이 사전에 충족되어야 합니다.

  • 엔비디아 쿠다 툴킷(NVIDIA CUDA Toolkit) 8.0 설치
  • 엔비디아 쿠디엔엔(NVIDIA cuDNN) 6 또는 6.1 설치
  • 쿠다 연산능력(CUDA Compute Capability)이 3.0 이상인 GPU 카드 확인

위 3가지 부분은 이전에 작성한 아래 글을 참고하시기 바랍니다.

R에서 딥러닝 API '케라스(Keras)' 설치하기 | http://blog.daum.net/geoscience/1161


쿠다 설치가 끝나면 o4w_env.bat의 path에 아래 경로를 추가합니다.

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin

이제 텐서플로와 케라스를 순차적으로 설치합니다.

# Install TensorFlow with CPU support only
python3 -m pip install tensorflow
# Install TensorFlow with GPU support
python3 -m pip install tensorflow-gpu
# Install Keras
python3 -m pip install keras

아래와 같이 케라스가 정상적으로 임포트됩니다. 이제 QGIS 파이썬 콘솔에서 케라스를 이용할 수 있습니다.

백엔드 엔진을 교체하고 싶은 경우에는 사용자 계정 폴더에 .keras > keras.json 내용을 변경하시면 됩니다.


자, 이제 QGIS에서 딥러닝 학습을 해볼 수 있습니다.


케라스 엠니스트 예제를 QGIS 파이썬 콘솔에서 실행한 예입니다.

소스: https://github.com/fchollet/keras/blob/master/examples/mnist_mlp.py