Windows 10에 CUDA Toolkit와 cuDNN, Tensorflow를 설치하는 방법을 다룹니다.
2020. 6. 21 최초 작성.
2020. 8. 8 CUDA Toolkit 버전 확인 방법 수정
2021. 1. 11 Windows 10에 CUDA Toolkit 11.0 cuDNN 8 Tensorflow 설치하는 방법 https://webnautes.tistory.com/1454 Windows 10에 CUDA 11.0과 cuDNN8, Tensorflow 설치하는 방법을 설명합니다. Tensorflow GPU 버전 2.4.0을 설치해보니 CUDA 11을 사용하는 것으로 바뀌어서 진행해보았습니다. |
1. 다음 링크에서 사용중인 NVIDIA 그래픽 카드에서 지원하는 버전을 확인합니다.
https://en.wikipedia.org/wiki/CUDA#Version_features_and_specifications
저는 GTX 1660 Ti를 사용중이라서 compute capability 7.5네요.
2. 앞에서 언급한 링크에서 다시 확인해보니 compute capability 7.5라면 CUDA SDK 10.0~10.2나 CUDA SDK 11.0을 사용할 수 있습니다.
3. CUDA Toolkit 11.0은 아직 정식 버전이 아니라서 CUDA Toolkit 10.1 update2를 다운로드 받았습니다.
https://developer.nvidia.com/cuda-toolkit-archive
글 작성시점에서 10.2는 텐서플로우에서 인식이 안되어 다음과 같은 에러가 발생했습니다.
>>> import tensorflow as tf
2020-06-21 20:42:02.785582: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2020-06-21 20:42:02.785700: 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.
4. 다음 링크에서 cuDNN을 다운로드 받을 수 있습니다. 로그인을 해야 다운로드가 가능하군요.
https://developer.nvidia.com/cudnn
CUDA 10.1 항목에 있는 cuDNN 7.6.5를 다운로드하면 됩니다.
5. CUDA Toolkit를 먼저 설치합니다. 다음 위치에 설치됩니다.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
cuDNN의 압축을 풀어서 CUDA Tookit가 설치된 경로에 복사해주면 설치가 완료됩니다.
6. 다음 두 명령으로 설치된 CUDA Toolkit의 버전 정보, 그래픽 카드 드라이버 버전 정보, 그래픽 카드 메모리 크기를 확인할 수 있습니다.
nvcc --version
nvidia-smi
nvidia-smi에서 확인되는 CUDA 버전은 그래픽카드에서 지원하는 최대 CUDA 버전이며
실제 설치된 CUDA 버전은 nvcc --version으로 확인되는 버전입니다.
7. 다음 주소에서 Python을 다운로드하여 설치합니다.
Tensorflow에서 지원하는 버전인 3.6 ~ 3.7 사이의 버전을 다운로드 해야 합니다.
https://www.python.org/downloads/windows/
Add Python 3.7 to PATH를 체크하고 설치를 진행하세요.
8. 명령 프롬프트에서 다음 명령으로 최신 버전의 Tensorflow GPU버전을 설치합니다.
글 작성 시점에는 최신버전이 Tensorflow 2.2.0입니다.
pip install tensorflow-gpu
9. 텐서플로우 모듈을 로드하여 문제 없는지 확인합니다.
import tensorflow as tf 를 실행하여 문제 없이 텐서플로우 모듈을 로드했다면 다음 메시지가 보입니다.
Successfully opened dynamic library cudart64_101.dll
tf.__version__을 실행하여 설치한 텐서플로우 버전이 출력되는 지도 확인합니다.
다음과 같은 에러가 발생한다면..
>>> import tensorflow as tf
......
ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.
다음 주소에서 vc_redist.x64.exe를 다운로드 받아 설치하면 해결됩니다.
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
10. 파이썬 인터프리터에서 텐서플로우가 GPU를 사용할 수 있는지 체크합니다.
>>> import tensorflow as tf
>>> tf.config.list_physical_devices('GPU')
2020-06-21 21:10:56.424727: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce GTX 1660 Ti computeCapability: 7.5
coreClock: 1.59GHz coreCount: 24 deviceMemorySize: 6.00GiB deviceMemoryBandwidth: 268.26GiB/s
2020-06-21 21:10:56.425117: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2020-06-21 21:10:56.425639: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2020-06-21 21:10:56.426130: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2020-06-21 21:10:56.426738: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2020-06-21 21:10:56.427284: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2020-06-21 21:10:56.427833: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2020-06-21 21:10:56.428379: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2020-06-21 21:10:56.429734: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
11. 파이썬 코드 작성시 사용할 편집기로는 Visual Studio Code나 Sublime Text 3를 사용하는 것을 추천합니다.
Visual Studio Code를 사용하여 Python 프로그래밍 환경 만들기
https://webnautes.tistory.com/1369
Sublime Text 3와 함께 Python 프로그래밍
https://webnautes.tistory.com/454