참고사항 및 DISCLAIMER
본 가이드라인은 window 유저와 NVIDIA 그래픽카드를 가지고 계신분들을 위해 작성되었습니다. 아쉽지만 맥 유저나 AMD 그래픽카드를 가지고 계신 분들은 다른 방법을 권장드립니다. 😊
장치 관리자
를 찾아봅시다.제 그래픽카드는 모델은 NVIDIA GeForce GTX 1050TI 인걸 확인할 수 있습니다.
혹시 CUDA 와 cuDNN이 뭔지 궁금하면 링크를 눌러주세요. 저는 귀찮아서 걍 무시하고 바로 설치하러 갔습니다 😅
CUDA 링크 👈
cuDNN 링크 👈
귀찮으시면 바로 설치하러 꼬우~~
먼저 그래픽 카드 모델마다 compute capability ( 👈링크 클릭해주세요)가 다 다른데요. 이 compute capability
에 따라 어떤 CUDA 버전과 어떤 cuDNN 버전이 설치되야 되는지 결정됩니다. 그러니 꼭 주의하시고 살펴주세요!!!!
링크 따라 들어오면 아래와 같은 페이지가 뜨는데요. 그래픽카드 모델에 따라 맞게 버튼을 클릭해주세요.
GeForce 그래픽카드를 가지고 계시면 CUDA-Enabled GeForce and TITAN Products
를 눌러주세요. 그럼 아래와 같이 촤라락~~ 펼처지는데요. 저는 모델이 1050Ti니 한 번 확인해보겠습니다.
모든 10 시리즈들은 compute capability가 6.1인걸 확인할 수 있습니다.
자 이제 compute capability를 확인 했으니 아래 차트를 확인해봅시다. 저 같은 경우 6.1이기 때문에 pascal 해당하고 CUDA 버전을 8.0부터 12.3 버전까지 사용이 가능합니다. 그래픽모델에 맞게 차트를 확인해보세요. 화살표와 곡선은 제 모델을 가지고 차트를 어떻게 보는냐를 보여주는 도구입니다.
이제 대망의 tensorflow-gpu 버전과 cudnn 버전을 확인할 시간 😍
먼저 이 링크( 👈)를 클릭해주세요. 클릭 후 아래 사진처럼 GPU 섹션을 찾을 때까지 스크롤 해봅시다.
저 같은 경우 compute capability 가 6.1이고 쿠다 12.3 까지 쓸 수 있지만 아쉽게도 tensorflow-gpu 에 호환되는 가장 최근 쿠다버전은 11.2 입니다. 그래서 저는 아쉽지만 쿠다 12.3 설치했다가 다시 지우고 쿠다 11.2 버전을 설치했습니다. 여러분은 이런 번거로움을 겪지 않기를 🙏
위 사진을 보면 tensorflow-gpu와 호환되는 파이썬 버전, cuDNN 버전, 쿠다버전
을 확인 하실 수 있습니다. 컴파일러나 빌드도구는 아마 tensorflow-gpu에 맞게 이미 설치가 되어 있을 겁니다.
그럼 파이썬 버전을 한 번 확인해봅시다!! 아래 코드를 복사 후 shell이나 cmd에 넣어봅시다.
python --version
# 만약 3.7-3.10 버전보다 낮거나 높으면 다시 지우고 버전에 맞게 다시 설치해주세요.
자 이제 compute capability와 호환되는 tensorflow-gpu, cudnn, cuda 버전을 확인했으니 설치를 해봅시다.
cuda 11.2 다운로드 링크:https://developer.nvidia.com/cuda-11.2.0-download-archive
cuDNN 8.1 다운로드 링크:https://developer.nvidia.com/rdp/cudnn-archive
링크 같은 경우 모든 cuDNN 버전을 archiving 한 페이지이기 때문에 버전에 맞게 잘 찾아주세요.
8.1.1이나 8.1.0 둘 중에 아무거나 설치하셔도 좋습니다.
cuDNN 을 설치 후 압축해제를 합니다. 그리고 cudnn-11.2-????? 폴더를 누른 후 cuda 폴더로 들어가주세요. 그럼 아래와 같이 보이는데요.
여기서 제가 highlight 했듯이 모든 파일을 복사해주세요.
그리고 이제 아래 제시된 순서로 경로를 따라가주세요 (CUDA 11.2가 이미 설치 되어있어야 합니다).
C 드라이브 ➡️ Program Files ➡️ NVIDIA GPU Computing Toolkit ➡️ CUDA ➡️ v11.2
그럼 이제 아까 복사했던 파일과 폴더를 덮어씌워 주면 됩니다.
이제 cuDNN 파일들을 붙혀두었으니 환경변수를 설정해야 합니다.
아래와 같이 윈도우 검색 창에 환경변수를 검색 후 시스템 환경 변수 편집을 눌러주세요.
그럼 아래와 같이 시스템 속성 창이 뜨는데요. 여기서 환경 변수를 클릭해줍니다.
그럼 아래와 같이 환경 변수창이 뜨는데요. 여기서 시스템 변수에 보이는 CUDA_PATH(빨간 박스)를 더블 클릭 해줍니다.
클릭 후 변수 값을 복사해줍니다.
그리고 Path를 highlight 한 상태에서 편집을 누르거나 더블클릭을 해줍니다.
환경 변수 편집창에서 새로 만들기를 누르고 아까 복사했던 변수 값을 붙혀넣기를 합니다. 그리고 2번 더 반복해주세요. 그럼 아래와 같이 3개의 환경 변수가 추가된걸 확인 하실 수 있습니다.
하지만 여기서 끝난게 아니죠ㅎㅎ 추가된 변수에 bin 폴더, include 폴더, lib 폴더를 추가해주셔야 됩니다. 아래와 같이 각 환경편수 마다 더블클릭 혹은 편집을 누른 후 bin, include, lib을 추가해주세요
~\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
~\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
~\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib
이제 환경변수 설정이 완료되었습니다!!! 👍
import tensorflow as tf
from tensorflow.python.client import device_lib
print(tf.__version__)
device_lib.list_local_devices()
# 우선 shell, cmd, 혹은 conda 에서 pip list 를 찍어봅시다.
protobuf 3.19.6
tensorboard 2.10.1
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.1
tensorflow-datasets 4.8.0
tensorflow-estimator 2.10.0
tensorflow-gpu 2.10.0
tensorflow-hub 0.15.0
tensorflow-io-gcs-filesystem 0.31.0
tensorflow-metadata 1.13.0
# 특히 tensorflow-datasets 를 설치했을때 문제가 많이 있었는데요
# 위 와 같이 버전들을 맞춰주시면 tensorflow-datasets 호환 문제가 해결이 됩니다.
# 삭제 및 설치 코드 탬플릿
pip uninstall "name-of-library_or_module"
pip install "name-of-library_or_module==version"
# ex)
pip install protobuf==3.19.6
프로세스 따라오시느라 수고 하셨습니당. 앞으로 이제 맴껏 모델 훈련 돌려보세용~~
감사합니다🙏🙏
선생님 덕분에 5일간 해결 안되던 문제를 해결하였습니다. 존경합니다!