윈도에서 파이썬 텐서플로 GPU 설치하는 법
가이드
텐서플로 GPU는 보통 프로그램처럼 그냥 설치파일 하나로 쉽게 설치하기 어렵다. 이런 저런 문제가 있다면 컴퓨터 자체를 밀고 처음부터 설치하는 게 편하고, 처음 시도한다면 열 번은 밀 각오를 하는 편이 좋다.
Step 1. NVIDIA GPU 드라이버 설치
NVIDIA 제어판에서 그래픽사양을 확인하고 알맞는 드라이버를 선택한다. 언어 설정은 한국어로 해도 상관 없을테지만, 이런 설치 작업에서는 가능한 영어를 고르는 편이 낫다.
설치 프로그램을 실행하자. 잘 모르겠으면 무조건 기본설정대로 가자.
Step 2. pip를 통한 tensorflow 패키지 설치
pip3 install tensorflow-GPU
powershell 콘솔에서 위와 같이 명령을 내려 tensorflow
를 설치한다.
설치가 끝나면 파이썬을 실행하고 다음과 같은 명령을 내려보자.
import tensorflow as tf
에러는 아니지만 아래와 같은 경고가 뜰 수 있다. 텐서플로 자체는 문제가 없지만 GPU를 사용하는 쪽에 뭔가 문제가 있는 것이다. 일단 넘어가자.
2021-04-27 13:47:26.034931: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-04-27 13:47:26.035108: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
INFO:tensorflow:Enabling eager execution
INFO:tensorflow:Enabling v2 tensorshape
INFO:tensorflow:Enabling resource variables
INFO:tensorflow:Enabling tensor equality
INFO:tensorflow:Enabling control flow v2
Step 3. CUDA Toolkit 설치
다시 powersehll로 돌아와 nvidia-smi
를 입력해보자. 다음과 같이 우측 상단에 어떤 CUDA version을 사용해야하는지 출력될 것이다.
https://developer.nvidia.com/cuda-toolkit-archive
위 페이지에서 자신의 운영체제에 맞는 CUDA Toolkit을 설치하자. 이 경우엔 2021년 4월에 릴리즈된 11.3버전을 받았다.
Step 4. cuDNN 설치
https://developer.nvidia.com/cudnn
위 사이트에서 받은 cuDNN SDK의 압축을 풀고 수동으로 직접 폴더에 붙여넣어줘야한다. 참고로 이 단계에서는 NVIDIA 계정을 요구한다.
다운로드 받은 압축파일 cudnn-11.3-windows-x64-v8.2.0.53.zip
을 풀면 다음과 같은 cuda
폴더가 생긴다.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
위 경로에는 위에서 설치한 CUDA가 버전별로 분리되어있다. 이 포스트의 경우에는 계속 CUDA의 버전이 11.3 이었으므로 11.3 폴더로 들어가보도록하자.
cuDNN SDK를 풀었을 때 있었던 cuda
아래의 bin
, include
, lib
이 보인다. 이들 폴더를 덮어씌워지도록 복사→붙여넣기를 하자.
Step 5. 확인
import tensorflow as tf
다시 파이썬을 실행하고 위의 커맨드로 파이썬을 불러보자. 그러면 Step 2에서와 달리 다음과 같이 잘 실행되는 것을 확인할 수 있다.
2021-04-27 14:18:51.570857: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll
INFO:tensorflow:Enabling eager execution
INFO:tensorflow:Enabling v2 tensorshape
INFO:tensorflow:Enabling resource variables
INFO:tensorflow:Enabling tensor equality
INFO:tensorflow:Enabling control flow v2
환경
- OS: Windows
- Python: 3.9.4
- tensorflow-gpu: 2.5.0rc1
- CUDA Toolkit: 11.3