노센스와 함께하는 데이터 분석

데이터과학자, '현장에서 바로 써먹는' 시리즈 저자

(R) 데이터 분석 실습

(R) Tensorflow GPU 설정 방법

노센스 2021. 2. 14. 16:46

[ 설치 PC 기본정보 ]

● OS : windows 10

● R : 3.6.3 64bit

● RStudio : 1.3.1093

● Tensorflow : 2.2.0

● GPU : Nvidia GeForce GTX 1060 3GB

● CPU : Intel(R) Core(TM) i5-6500 (3.2GHz)

RAM : 8GB

 

R에서 Keras, Tensorflow를 사용하는 경우 GPU를 사용할 수 있는 설정 방법에 대해서 설명드리겠습니다. 순서는 아래와 같습니다.

 

① 본인의 그래픽 카드가 지원되는 그래픽 카드인지 확인

② R에서 Keras, Tensorflow 설치 및 본인이 설치한 Tensorflow 버전에 맞는 CUDA 및 cuDNN 버전 확인

 Nvidia CUDA Toolkit 설치

 Nvidia cuDNN Download → Nvidia CUDA Toolkit 설치 위치에 압축해제

 

① 본인의 그래픽 카드가 지원되는 그래픽 카드인지 확인

우선 사용하는 PC가 Nvidia 계열의 그래픽 카드여야 하며 그 중에서도 아래 사이트의 리스트에 존재하는 그래픽 카드인지 확인해야 합니다.

 

developer.nvidia.com/cuda-gpus

 

CUDA GPUs

Recommended GPU for Developers NVIDIA TITAN RTX NVIDIA TITAN RTX is built for data science, AI research, content creation and general GPU development. Built on the Turing architecture, it features 4608, 576 full-speed mixed precision Tensor Cores for accel

developer.nvidia.com

일반적으로 사용하는 데스크탑 PC의 경우 GeForce 계열의 그래픽 카드이기 때문에 해당 탭을 확인하면 아래와 같이 지원 가능한 목록이 나옵니다. (하기 목록은 업데이트로 인해 변경될 수 있습니다.)

 

 

R에서 Keras, Tensorflow 설치 및 본인이 설치한 Tensorflow 버전에 맞는 CUDA 및 cuDNN 버전 확인

지원 가능한 그래픽 카드라면 이제 R에서 Keras와 Tensorflow를 설치하도록 하겠습니다. 아래와 같이 각각의 패키지를 설치하시고 라이브러리를 불러온 뒤 install_keras(), install_tensorflow() 함수를 실행시키면 설치가 완료됩니다.

install.packages("keras")  # keras 패키지 설치
install.packages("tensorflow")  # tensorflow 패키지 설치
library(keras)  # keras 라이브러리 불러오기
install_keras()  # keras 설치
library(tensorflow)  # tensorflow 라이브러리 불러오기
install_tensorflow()  # tensorlfow 설치

그리고 RStudio를 사용하고 있다면 우측 하단에 위치한 Packages 탭을 확인하면 tensorflow 버전을 확인할 수 있습니다.

제 경우는 tensorflow 2.2.0 버전이네요. 그러면 이제 해당 버전에 맞는 CUDA 및 cuDNN 버전이 무엇인지 확인해야 합니다. 아래 링크로 이동하셔서 스크롤을 가장 아래로 내리면 확인하실 수 있습니다.

 

www.tensorflow.org/install/source_windows

 

Windows의 소스에서 빌드  |  TensorFlow

소스에서 TensorFlow pip 패키지를 빌드하고 Windows에 설치합니다. 참고: 잘 테스트되고 사전 빌드된 Windows 시스템용 TensorFlow 패키지가 이미 제공되고 있습니다. Windows용 설정 다음 빌드 도구를 설치

www.tensorflow.org

 

tensorflow 2.2.0 버전의경우 cuDNN은 7.6버전, CUDA는 10.1 버전이네요. 이제 Nvidia 홈페이지에서 해당 파일을 다운로드 받아야 합니다.

 

 Nvidia CUDA Toolkit 설치

제 경우인 CUDA 10.1을 다운받아야할 경우 google에 해당 키워드로 검색을 하셔도 되며 아래 링크로 바로 이동하셔도 됩니다.

developer.nvidia.com/cuda-10.1-download-archive-base

 

CUDA Toolkit 10.1 original Archive

Select Target Platform Click on the green buttons that describe your target platform. Only supported platforms will be shown. Operating System Architecture Distribution Version Installer Type Do you want to cross-compile? Yes No Select Host Platform Click

developer.nvidia.com

링크로 이동하면 위와 같이 Operating System, Architecture, Version 등을 선택해야 합니다. 본인의 PC 사양에 맞는 걸 선택하시고, Installer Type 같은 경우는 exe(network)는 실행 파일이 작지만 인터넷이 연결된 환경에서만 설치가 가능한 파일이며 exe(local)은 용량이 큰 대신 오프라인 환경에서도 설치가 가능한 파일입니다. 저는 exe(local) 파일을 선택해 다운로드 받았습니다. 다운로드가 완료되면 exe파일(cuda_10.1.105_418.96_win10.exe)을 실행해 설치하면 됩니다.

 

 

설치가 완료되면 cuDNN을 설치해야 합니다.

 

 Nvidia cuDNN Download → Nvidia CUDA Toolkit 설치 위치에 압축해제

이게 조금 어려울 수 있습니다. 왜냐하면 Nvidia에서 cuDNN을 다운로드 받기 위해서는 개발자(Developer) 회원가입을 요구하기 때문입니다. 회원가입을 하셨다면 하기 링크에서 cuDNN 파일을 다운받을 수 있습니다.

 

developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

developer.nvidia.com

제 경우는 cuDNN 7.6버전에 CUDA 10.1 버전이었습니다. 아래와 같이 해당 링크에서 Windows 10용 파일을 다운로드 받습니다.

 

그러면 해당 파일(cudnn-10.1-windows10-x64-v7.6.5.32.zip)을 압축 해제해 이미 설치한 CUDA Toolkit 설치 폴더(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1)에 덮어씌웁니다.

 

상기 위치의 bin 폴더에 cudnn64_7.dll 파일이 존재하면 제대로 덮어씌워진 것 입니다.

 

이렇게 되면 tensorflow를 gpu로 사용할 수 있는 준비가 완료됩니다.

 

그리고 R에서 keras, tensorflow를 이용해 모델을 구축하고, 실행하면 아래와 같이 에러없이 successfully opened dynamic library라는 메시지가 발생하며 마지막에 device에 관한 정보도 정상적으로 출력됩니다.

 

조금 어려울 수 있지만 따라해보시면 충분히 하실 수 있으실 겁니다.

 

궁금한 부분은 댓글로 문의주시기 바랍니다. 감사합니다.