본문 바로가기
인공지능 개발하기/Machine Learning

[Tensorflow] 24. tensorflow GPU 가상환경 설정하기

by 선의공 2024. 1. 20.
반응형

 
 

지금까지는 CPU를 이용해서 
Tensoflow를 돌렸었는데요,
 
이번엔 tensorflow에서 
gpu를 사용하기 위해
가상환경을 생성하고 세팅해보겠습니다. 
 
(먼저 아래 기본적인 개발 세팅이 필요합니다.)
https://aigaeddo.tistory.com/2

 

1) Python과 Tensorflow를 이용한 인공지능 개발 세팅하기

안녕하세요. 오늘은 Python와 Tensorflow를 이용한 머신러닝,딥러닝 기초학습을 하기 위한 개발 세팅을 해보았습니다. 이 학습을 하기 위해서 컴퓨터를 세팅해주었습니다. 필요한 것은 아래 4가지입

aigaeddo.tistory.com


 

1.  CUDA  Toolkit 설치
 
 

Nvidia Developer 사이트에서 버전을
선택해서 다운로드 해주겠습니다. 
저는 강의실의 세팅과 동일한 환경을 만들기 위해
cuda 11.4.4 버전을 다운받았습니다.
https://developer.nvidia.com/cuda-toolkit-archive

 

CUDA Toolkit Archive

Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production

developer.nvidia.com

 
 
파일이 다운로드 되면 실행하고
진행시켜줍니다.
 
그리고 해당 절차에서
사용자 정의 설치를 선택해주겠습니다.

 

 
Visual Studio Code 에디터 환경에서
필요한 세팅을 해야합니다.
CUDA 를 눌러 아래 항목의
Visual Studio Integration을 해제해줍니다.
저게 선택되어 있으면 설치가 안됩니다..

 
 
저는 추가로
Samples, Documents, Dricer componets, Other components 등
필요없거나 현재 설치된 버전이 더 최신 버전인 항목들을
비체크 해줬습니다. 

 

 
 나중에 설치할 CuDNN을 넣어줘야 하기 때문에 
경로 체크를 한번 해주세요. 
 

 
 
설치가 완료되면 이제
CuDNN을 설치하겠습니다.
 
 


 
 

2.CuDNN  설치하기

위해서 cuda를 사용하기 위한
툴킷을 설치했다면,
 
cuda Deep Neural network Library
cuda 딥러닝을 위한 라이브러리를
설치해주겠습니다.
(로그인이 필요합니다.)
저는 강의실과 환경을 맞추기 위해
"Download cuDNN v8.2.4 (September 2nd, 2021), for CUDA 11.4"
해당 버전을 설치해주었습니다.
https://developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

Download releases from the GPU-accelerated primitive library for deep neural networks.

developer.nvidia.com

 
 
다운이 완료되었으면,
압축을 풀어주시구요
이 파일들을 복사해서 

 
위에서 확인한 cuda  설치경로에 붙여줍니다.
저는 아래의 경로에 붙여주었습니다!
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4"
 
이렇게 CuDNN까지 세팅했으면 
가상환경을 만들어보겠습니다.
 
 


 

3.  Conda 가상환경 만들기

 
협업을 할때
서로 다른 환경으로 각각의 툴버전을 사용하면
코드를 컴파일하지 못하거나
충돌이 날 수도 있겠죠.
 
그래서 하나의 컴퓨터에서도
이런 협업 코드에 맞춰
다양한 개발 환경을 구성할 수 있도록
여러 가상 환경을 세팅할 수 있습니다.
 
저는 tensorflow로
gpu를 돌리기 위한 
가상환경을 세팅해보겠습니다.
 
 
cmd를 열어주고
저는 이렇게 입력해주겠습니다.
" conda create -n 가상환경이름 python=파이썬버전 anaconda(아나콘다설치) "
엔터 후 y를 입력하거나 엔터를 치면
가상환경이 생성되고
가상환경에 python, anaconda가 설치됩니다.

 
 
설치가 완료되었습니다.

 
 
 

그래도 가상환경이 어떤게 있는지 찍어봅시다.
" conda env list "
제가 생성한 가상환경이 잘 생성되어 있군요
base는 기본 개발 환경입니다.

 
 
 
가상환경을 실행하겠습니다
"conda activate aia_v_env"
C 경로앞에
가상환경 이름이 붙었으면
가상환경이 실행된겁니다.

 
 

반대로 가상환경을 
나가려면 
"conda deactivate" 
를 해주면 됩니다.
 
이제 가상환경에서
tensorflow-gpu 라이브러리를 설치해보겠습니다.
 


 

3. tensorflow-gpu 설치

 
 

텐서플로우에서 gpu를 이용하기 위해
필요한 라이브러리입니다.
"pip install tensorflow-gpu=2.9"
저는 2.9 버전을 설치했습니다.

 

 
"pip list" 를 입력해서
잘 설치되었는지 확인해볼까요??

 굿굿!
 
 


 

 
3. GPU 동작 확인해보기

 
Visual Studio Code의 우측 아래를 보면
파이썬 버전과 base라고 설정된
레이블 영역이 보이는데요 저길 클릭하면 

 
상단에 인터프리터 선택을
할 수 있습니다.
저는 방금 만든 aia_v_env
가상환경을 선택해 주겠습니다.

 
 
 
비교적 무거웠던 사이킷런 학습 데이터셋인
 fetch_covtype datasets로 확인해보겠습니다.
데이터셋 모델 훈련을 컴파일하고 

from sklearn.datasets import fetch_covtype

 
 
 
작업관리자를 켜고
성능 - GPU 에 들어가서
전용 GPU 메모리 사용량을 확인하면
GPU가 사용되는게 보입니다!
 

 
 

 

제가 실습했던 데이터 중

가장 무거운 데이터인 

sklearn.datasets 의 fetch_covtype을 이용한 모델

훈련 시간을 비교해봤습니다. 

CPU에서의 훈련과 비교해서도 GPU로 돌린 속도가
50%정도 빨라졌습니다

'''
============================
CPU 걸린시간 : 99.98 초
GPU 걸린시간 : 48.25 초
============================
'''

 
 
 
 
이렇게 GPU 환경에서
텐서플로우 딥러닝 세팅을 다뤄보았습니다.
 
틀린점이 있다면 지적주세요!

반응형