Concept
[2021-01-31]
2020년 9월 출시한 RTX 3000 시리즈는 공식적으로 CUDA 11 버전 이상을 지원하고 있습니다. 이에 맞는 텐서플로우 설치가 아직까지 안정화 문제인지 최적화되지 않은 상황입니다. 저는 Nightly (개발 버전)의 텐서플로우 설치를 통해 윈도우 환경에서 구축되어 포스팅을 남깁니다.
Environment
운영체제 | 그래픽 카드 | 그래픽 카드 드라이버 버전 |
Window 10 | RTX 3090 | 461.40 |
1. 가상환경 생성하기
가상환경을가상 환경을 생성하는 단계는 이전 포스팅과 동일합니다. 아나콘다를 이용하여 파이썬 3.8 기반 가상 환경을 생성해줍니다.
2. CUDA 설치하기
CUDA 11.1 버전 다운로드 링크 : CUDA Toolkit 11.1 Update 1 Downloads
CUDA 11.1 버전 설치를 진행해줍니다. EXE (Local) 파일이 용량이 크지만 전체를 다운받아 설치를 진행하기 때문에 체감상 좀 더 빠르게 설치가 진행되는 듯합니다. 설치가 진행되는 동안 cuDNN을 다운로드 합니다. cuDNN은 엔비디아 개발자 로그인이 요구되기 때문에 아이디가 없다면 회원가입이 필요합니다.
로그인 후, 최상단의 " Download cuDNN v8.0.5 (November 9th, 2020), for CUDA 11.1 "를 클릭한 다음, 윈도우 버전을 다운로드해줍니다.
cuDNN 8.0.5 버전 다운로드 링크 : cuDNN Archive
2. 환경변수 설정하기
CUDA 설치와 cuDNN 다운로드가 모두 완료되면 cuDNN을 CUDA 설치 폴더에 적용해야 합니다. cuDNN을 압축 해제한 다음, CUDA가 설치된 폴더에 복사 불어넣기 해줍니다. 일반적으로 C://Program Files에 설치됩니다.
cuDNN 복사가 완료되었다면, 환경변수를 설정해주어 CUDA가 설치된 폴더의 위치를 알려줘야 합니다. 윈도우 검색 창에 시스템 환경 변수를 입력하면 빠르게 찾을 수 있습니다.
시스템 변수 항목에서 PATH 변수를 더블 클릭해줍니다.
환경 변수를 추가하는 방법은 간단합니다. 새로 만들기 클릭 후, 찾아보기를 통해 위치를 지정해주면 됩니다. CUDA가 설치되면서 자동으로 변수가 설정되지만, 일부 누락이나 오류를 방지하기 위해 경로가 없을 경우 경로 리스트를 모두 추가해줍니다.
CUDA 환경 변수 |
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin |
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\libnvvp |
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1 |
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib |
3. Tensorflow 설치하기
이제 마무리 단계입니다. 공식적으로 안정화된 텐서플로우는 2.3 버전이지만, 아쉽게도 CUDA 11 이상 버전에서는 2.5 버전의 개발자 버전만을 지원하고 있습니다. PIP 명령어로 Tensorflow를 설치합니다.
tf-nightly 2.5 (2021.01.10)을 다운로드하였지만, 이후 버전도 크게 문제 되지는 않을 것 같습니다.
pip install tf-nightly-gpu==2.5.0.dev20210110 |
# libcusolver.so.10 에러 발생 또는 GPU 연산이 안될경우 # conda install cudatoolkit |
설치가 완료되면 정상적으로 완료되었는지 확인합니다.
CMD 콘솔창 : nvcc --version 입력 [쿠다 설치 버전 확인]
가상 환경 PYTHON : import tensorflow [텐서플로우 설치 버전 및 GPU 인식 확인]
import tensorflow as tf
tf.__version__
#'2.5.0-dev20210110'
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
# physical_device_desc: "device: 0, name: GeForce RTX 3090, pci bus id: 0000:01:00.0, compute capability: 8.6"
System Test
github.com/DEEPI-LAB/python-tensorflow-MNIST-GANs.git
모든 설정이 완료되었다면, 약간?은 연산량이 많은 기본 알고리즘으로 테스트를 진행해봅니다. GAN 신경망 학습 알고리즘의 혁신을 불러온 DCGAN입니다. 링크를 통해 다운로드하거나 GIT으로 받아주세요.
DCGAN 알고리즘
git clone https://github.com/DEEPI-LAB/python-tensorflow-MNIST-GANs.git |
DCGAN 알고리즘 의존성 패키지 다운로드
pip install pytictoc |
pip install scipy |
pip install matplotlib |
spyder나 pycharm에서 tensorflow_DCGAN.py를 실행하거나 python tensorflow_DCGAN.py 명령어를 콘솔창에 입력하면 알고리즘 연산이 시작됩니다. 작업 관리자 성능 탭에서 CPU가 아닌 GPU의 메모리 사용량이 증가한다면 정상적으로 CUDA 프로세서가 인식된 것입니다.
Your Best AI Partner DEEP.I
AI 바우처 공급 기업
객체 추적 및 행동 분석 솔루션 | 제조 생산품 품질 검사 솔루션 | AI 엣지 컴퓨팅 시스템 개발
인공지능 프로젝트 개발 외주 및 상담
E-mail: contact@deep-i.ai
Site: www.deep-i.ai
'Python > Tensorflow' 카테고리의 다른 글
[Tensorflow] K-Fold 교차 검증으로 학습 모델 검증하기 (sklearn) (0) | 2021.02.21 |
---|---|
[Tensorflow] GAN (생산적 적대 신경망) 구현하기 (0) | 2021.02.17 |
[Tensorflow] keras를 이용한 MNIST, CIFAR 이미지 분류 데이터셋 다운로드 (0) | 2020.12.30 |
[Tensorflow] VGG16 모델을 이용하여 CNN 이미지 분류기 학습하기 (0) | 2020.12.27 |
[Tensorflow] 사전 학습된 VGG16 모델로 이미지 분류하기 (0) | 2020.12.13 |