Anaconda를 이용한 TensorFlow 설치 및 Win10에 GPU사용 환경 설정

Mac OS와 Windows 10 pro에 Anaconda를 이용한 TensorFlow 설치 방법과 Windows 10에 GPU연산이 가능한 환경을 설정하는 방법에 대해 살펴보자. 먼저 Windows 10에 GPU연산이 가능하려면 CUDA가 지원되는 Nvidia VGA가 탑재되어 있어야 한다. 지원 확인

이 블로그는 CUDA8.0과 cuDNN 5.1이 지원되는 VGA를 기준으로 작성되어 있으므로 해당 버전이 지원되지 않는 VGA에서는 정상적으로 작동하지 않을 수 있다. 이 경우 지원되는 버전의 CUDA와 cuDNN를 다운 받아야 한다. (cuDNN, Nvidia 회원 가입 필요)

About TensorFlow

2015년 구글이 공개한 머신러닝 및 딥러닝 관련 오픈소스 라이브러리이다. 딥러닝 계산에서 행렬의 반복적인 계산이 이루어지는데 이 계산을 빠르게 처리할 수 있는 모듈이다. 또한 데이터를 분석하는데 CPU뿐만 아니라 GPU연산을 지원하여 다중병렬처리가 가능하다. TensorFlow는 뉴럴네트워크에 최적화되어있는 개발 프레임웍이기 때문에 자료형과 실행 방식이 일반적인 프로그래밍 방식과 다르다.

TensorFlow 환경 설정

TensorFlow 환경을 설정하는 방법은 여러가지가 있는데 Anaconda의 새로운 환경(Environment)을 정의한 후 설치하는 방법을 살펴보자.

0. Anaconda 설치

설치 과정 중 Advanced Options 중 Add Anaconda to my PATH environment variable 체크 (환경변수 추가)

Mac의 터미널, 윈도우10의 명령 프롬프트를 실행해서 다음 명령어 입력한다.

1. 새로운 환경(python3.6) 만들기

conda create -n tensorflow python=3.6

새로운 tensorflow이름의 환경을 생성한다(tf_p36 등과 같이 다른 이름을 사용해도 상관 없음). 기존 root 환경에 설치해도 되지만 tensorflow만의 독립된 환경으로 사용하는 것이 더 편하다(이것 저것 설치하면서 충돌이 났을 경우 tensorflow 환경을 삭제하기만 하면 된다).

2. tensorflow 환경으로 접근

Mac OS:

source activate tensorflow

윈도우 10 pro:

activate tensorflow

3. conda-forge 채널의 TensorFlow 설치

tensorflow 환경으로 접근한 후 터미널 또는 명령 프롬프트에 아래 명령어를 입력한다(conda-forge라는 채널에 있는 tensorflow를 설치).

(tensorflow) conda install -c conda-forge tensorflow

Win10에서 GPU를 사용해서 연산하는 환경 설정하기

이제부터는 Windows 10에 GPU로 연산을 지원하는 tensorflow-gpu를 설치하는 방법을 살펴보자. GPU연산을 위해서는 tensorflow가 아닌 tensorflow-gpu를 설치해야 한다.

1. CUDA 8.0 설치

2. cuDNN 5.1 다운

압축을 해제한 후 bin, include, lib 폴더를 CUDA 설치된 폴더에 복사한다.

(기본적으로는 “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0” 에 설치됨)

3. 환경변수 설정

  • 제어판>시스템 및 보안>시스템 애서 왼쪽 메뉴에 “고급시스탬 설정” 클릭
  • 상위 탭에 “고급” 클릭
  • “환경변수” 클릭
  • 시스템 변수에 CUDA_HOME 변수를 추가하고 다음 값을 작성
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

  • 시스템 변수에 있는 path 변수에 다음 두 값을 추가
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64

1. tensorflow-gpu 설치

새로운 tensorflow-gpu이름의 환경을 생성한다. 기존의 tensorflow환경과 구분하기 위해 tensorflow-gpu라고 이름 붙였다.

conda create -n tensorflow-gpu python=3.6
activate tensorflow-gpu
conda install -c anaconda tensorflow-gpu

2. 텐서플로우가 GPU를 사용하는지 확인

activate tensorflow-gpu
python
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

gpu:0 이 뜨면 성공~!!!

Reference

  • 구글의 머신러닝을 이해하기(2편)