#Linux와 Windows가 모두 지원됩니다. 성능 및 호환성 이유로 Linux를 권장합니다.
#64 비트 Python 3.6 설치. numpy 1.14.3 이상인 Anaconda3를 권장합니다.
#백서의 모든 실험에 사용한 TensorFlow 1.14를 권장하지만 TensorFlow 1.15는 Linux에서도 지원됩니다. TensorFlow 2.x는 지원되지 않습니다.
#Windows에서는 표준 1.15 설치에 필요한 C ++ 헤더가 포함되어 있지 않으므로 TensorFlow 1.14를 사용해야합니다.
#하나 이상의 고급 NVIDIA GPU, NVIDIA 드라이버, CUDA 10.0 툴킷 및 cuDNN 7.5. 보고서에보고 된 결과를 재현하려면 최소 16GB의 DRAM이있는 NVIDIA GPU가 필요합니다.
#비주얼스튜디오커뮤니티에디션 path("C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat")
#cmd 창에서 nvcc -V 확인(11.1-11.2호환됨)
1. 다음 링크에서 CUDA 11.2를 다운로드합니다.
https://developer.nvidia.com/cuda-11.2.0-download-archive
다음 링크에서 CUDA 11.2을 위한 cuDNN 8.1.0을 다운로드합니다. NVIDIA 웹사이트 계정이 있어야 다운로드 페이지로 이동할 수 있습니다.
https://developer.nvidia.com/rdp/cudnn-download
다음 링크에서 NVIDIA 그래픽카드 드라이버를 다운로드합니다. 최신버전을 사용해야 CUDA 11 을 사용할 수 있습니다.
https://www.nvidia.co.kr/Download/Find.aspx?lang=kr
제어판 - 추가/삭제에서 NVIDIA를 검색하여 모두 삭제합니다. 그래픽 카드 드라이버도 최신 버전으로 다시 설치해야 하므로 삭제합니다.
삭제에 문제가 있는 프로그램이 있는 경우 IObit Uninstaller 같은 프로그램을 사용하여 삭제합니다.
5. NVIDIA 그래픽 카드 드라이버를 먼저 설치합니다.
6. CUDA Toolkit를 설치합니다.
7. cuDNN 8.1.0 을 설치합니다. cudnn-11.2-windows-x64-v8.1.0.77.zip 압축을 풀어서 종류별로 CUDA Toolkit 디렉토리에 복사합니다.
cuda\bin에 있는 *.dll 파일을 아래 경로로 복사
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
cuda\include에 있는 *.h 파일을 아래 경로로 복사
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
cuda\lib\x64에 있는 *.lib 파일을 아래 경로로 복사
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib\x64
Variable Name: CUDA_PATH
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
큰따옴표로 명령을 둘러싸야 실행이 됩니다.
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite\deviceQuery.exe"
이상이 없다면 마지막에 다음처럼 PASS가 보입니다.
nvcc로도 설치된 CUDA 버전을 확인합니다. 11.2이라고 보이면 정상입니다.
C:\Users\webnautes>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:15:10_Pacific_Standard_Time_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0
10 .다음처럼 에러 나는 경우가 있을 수 있습니다.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\demo_suite\deviceQuery.exe Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
다음처럼 명령프롬프트에서 nvidia-smi 명령을 실행시 다운로드 받은 드라이버 버전 460보다 작은 버전 430이 보입니다.
(아래 글은 가상으로 적은 버전입니다.)
460.89-notebook-win10-64bit-international-nsd-dch-whql.exe
C:\Users\webnautes>nvidia-smi
Sun Jan 10 21:52:56 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.89 Driver Version: 430.89 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
장치 관리자에서 디스플레이 어댑터에 있는 그래픽 카드를 선택 후 마우스 우클릭 후, 드라이버 업데이트 선택합니다.
컴퓨터에서 드라이버 소프트웨어 검색 선택하고 컴퓨터의 사용가능한 드라이버 목록에서 직접 선택 클릭합니다.
사용가능한 드라이버 목록에 최신 날짜로 표시된 것을 선택합니다.
예를들어 드라이버 설치파일 이름이 452.06로 시작되면 목록에는 27.21.14.5206으로 되어 있습니다.
4.5206부분이 그래픽 카드 드라이버 버전을 의미합니다..
선택후 다음을 누르면 적용됩니다.
C:\Users\webnautes>nvidia-smi
Sun Jan 10 21:52:56 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.89 Driver Version: 460.89 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
이제 다시 명령프롬프트에서 다음 프로그램을 실행해봅니다. 마지막에 PASS가 보여야합니다.
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite\deviceQuery.exe"
nvcc로도 설치된 CUDA 버전을 확인합니다. 11.2이라고 보이면 정상입니다.
C:\Users\webnautes>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:15:10_Pacific_Standard_Time_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0
Tensorflow에서 지원하는 버전인 3.6 ~ 3.8 사이의 버전을 다운로드 해야 합니다.
https://www.python.org/downloads/windows/
Add Python 3.7 to PATH를 체크하고 설치를 진행하세요.
글 작성 시점에는 최신버전이 Tensorflow 2.5.0입니다.
pip install --upgrade tensorflow
C:\Users\webnautes>python
Python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
import tensorflow as tf
텐서플로우 모듈을 임포트합니다.
2021-06-08 21:12:57.900407: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudart64_110.dll
정상적으로 로드가 되었습니다.
tf.version
'2.5.0'
설치한 텐서플로우 버전 2.5.0이 보여야 합니다.
다음과 같은 에러가 발생한다면..
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
import tensorflow as tf
tf.config.list_physical_devices('GPU')
2021-06-08 21:14:28.633445: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library nvcuda.dll
2021-06-08 21:14:28.700937: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] 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
2021-06-08 21:14:28.701127: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudart64_110.dll
2021-06-08 21:14:28.787793: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cublas64_11.dll
2021-06-08 21:14:28.788018: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cublasLt64_11.dll
2021-06-08 21:14:28.796733: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cufft64_10.dll
2021-06-08 21:14:28.824129: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library curand64_10.dll
2021-06-08 21:14:28.902785: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cusolver64_11.dll
2021-06-08 21:14:28.939477: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cusparse64_11.dll
2021-06-08 21:14:28.940563: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudnn64_8.dll
2021-06-08 21:14:28.940835: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
[] 처럼 보이면 CUDA를 로드하지 못한것입니다.
Visual Studio Code를 사용하여 Python 프로그래밍 환경 만들기
https://webnautes.tistory.com/1369
Sublime Text 3와 함께 Python 프로그래밍