본문 바로가기
[ETC] - Python

# 1. CUDA, cuDNN 설치 및 tensorflow-gpu 환경 세팅

by Bebsae 2022. 1. 25.

이번 포스트는 tensorflow에서 GPU를 세팅하는 방법에 대해 작성한다. 물론 여기보다 더 잘 설명된 글도 많지만 굳이 다시 찾아보지 않으려고 작성한다. 무튼, 엔비디아 그래픽 카드(RTX 3060 TI)를 기준으로 글을 작성한다. 그리고 가상환경을 기준으로 세팅할 것이기 때문에 가상환경에 대해 모르는 분은 해당 포스트를 참고하면 도움이 된다.

 

엔비디아 그래픽 드라이버 설치

구글에 돌아다니는 글들을 보면 흔히 무작정 CUDA 부터 설치하는 경우가 많은데, 이전에 해야 몇 가지 작업이 있다. (기존에 엔비디아 그래픽 드라이버가 설치되어 있는 분이라면 이 단계는 뛰어넘어도 된다.) 엔비디아 그래픽 드라이버가 설치부터 하자. 이 과정을 수행하지 않으면, 인텔 CPU를 사용한다면, 내장 그래픽으로 모니터를 출력하고 있을 것이다. (장치관리자의 디스플레이 어댑터를 보면 그래픽 카드가 아닌 엉뚱한 어댑터가 사용중) 그리고 중요한 nvidia-smi 명령어를 사용할 수가 없다. 이 명령어는 뒤에서 알아보자.

 

https://www.nvidia.co.kr/Download/index.aspx?lang=kr 

 

NVIDIA 드라이버 다운로드

 

www.nvidia.co.kr

 

해당 링크에서 자신에게 맞는 그래픽 카드 드라이버를 검색한 뒤에 다운받자. Geforce RTX 3060 TI 기준 2기가 가량의 설치 파일이 다운된다. 설치가 완료 되었으면 실행해서 다음을 광클하고 빠른 설치를 실행한다. 

 

디스플레이 어댑터에 정상적으로 인식된 모습

 

nvidia-smi

명령프롬프트(윈도우 시작버튼 - cmd 입력)를 실행시킨 후, nvidia-smi 명령어를 입력하자. 현재 동작중인 그래픽 카드에 대한 정보들이 출력된다. 우측 상단에 CUDA Version 이라고 적힌 부분을 확인하자. 해당 그래픽 카드에 적합한 CUDA 버전은 11.6 버전이다. 

 

CUDA 툴킷 설치

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

 

CUDA Toolkit Archive

Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production

developer.nvidia.com

위의 아카이브에서 아까 nvidia-smi로 확인한 CUDA 버전에 맞는 툴킷을 설치한다. 설치가 완료되면 Program Files 아래에 다음과 같은 폴더 두 개가 생겼을 것이다.

 

 

cuDNN 설치

https://developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

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

developer.nvidia.com

 

 

위의 아카이브에서 아까 설치한 CUDA 툴킷에 호환되는 cuDNN을 다운받는다. 필자의 경우 설치한 CUDA 툴킷이 11.6 버전이라 호환되는 cnDNN이 없어서 11.x 버전을 위한 cuDNN을 다운받았다.

 

다운 받은 압축파일을 해제한 후, 위의 세 파일을 복사한 뒤에 아까 CUDA 설치 후 생성된 폴더 (NVIDIA GPU Computing Toolkit) 아래의 CUDA/v11.6 폴더 (설치된 버전에 따라 이름이 다름) 아래에 붙여넣는다. (덮어쓰기 해버리면 된다.)

 

환경변수 설정

시스템 환경 변수 편집 - 환경 변수 - 시스템 변수 (S) - Path에 아까 붙여넣었던 세 개의 폴더(NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin, include, lib)를 추가해주면 된다. 찾아보기로 하는 것을 추천한다.

 

tensorflow-gpu 설치 및 확인

https://www.tensorflow.org/install/source_windows?hl=ko 

 

Windows의 소스에서 빌드  |  TensorFlow

Help protect the Great Barrier Reef with TensorFlow on Kaggle Join Challenge Windows의 소스에서 빌드 소스에서 TensorFlow pip 패키지를 빌드하고 Windows에 설치합니다.참고: 잘 테스트되고 사전 빌드된 Windows 시스템용 T

www.tensorflow.org

위 링크에서 아래로 내리다보면 tensorflow 버전별 지원 현황이 나와있다. 이를 참고하여 Anaconda Prompt에서 앞서 설치한 가상환경을 활성화하여 conda install tensorflow-gpu==버전명 명령어를 수행하면 된다.

 

설치가 끝나고 python 명령어를 입력하여 해당 가상환경에서 파이썬 프롬프트를 활성화시킨다.

 

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

활성화된 프롬프트에서 위의 파이썬 코드를 작성한다. 현재 로컬 디바이스 목록을 보여주는 메소드이다. 빨갛게 표시한 것이 로컬 디바이스 목록인데 잘 보면, CPU:0 과 GPU:0 을 확인할 수 있다. 0번째 CPU와 0번째 GPU 두 가지를 잘 인식한 것을 확인할 수 있다. (프로그래밍에서 0번째는 현실 세계의 1번째를 의미함)

 

지금부터 마음껏 GPU를 사용하여 딥러닝 혹은 머신러닝을 즐기면 된다 :)

댓글