반응형

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



반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
개선 사항을 댓글로 남겨주면 가능한 빨리 반영하도록 하겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 ~~

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요 ^^

  1. Favicon of https://tariat.tistory.com BlogIcon 테리엇 2020.06.24 07:22 신고

    잘 봤습니다. 즐거운 하루되세요~ㅎ

  2. ff 2020.08.07 13:10

    CUDA VERISON: 10.1 이 아니라 CUDA VERSION:10.2 로 되어있는데 이거 해결방법 있나요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.08.07 18:20 신고

      제거하고 진행해야 합니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.08.07 18:25 신고

      어디에서 10.2가 보인건가요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.08.08 17:18 신고

      nvidia-smi에서 확인되는 CUDA 버전은 그래픽카드에서 지원하는 최대 CUDA 버전이며

      실제 설치된 CUDA 버전은 nvcc --version으로 확인되는 버전입니다.

  3. jun 2020.08.23 12:41

    Found device 0 with properties이라고 결과에 나왔는데
    이거는 사용할 수 있는 GPU가 0개라고 뜬 거 아닌가요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.08.23 12:44 신고

      그 아래에 그래픽 카드 정보가 보이는지 확인해야 합니다. 포스트 결과와 비교해보세요

+ Recent posts