기록하는삶

[파이썬/python] 텐서플로우(tensorflow) GPU 사용 환경 구축 및 확인하기 본문

AI/개발환경

[파이썬/python] 텐서플로우(tensorflow) GPU 사용 환경 구축 및 확인하기

mingchin 2021. 7. 31. 19:02
728x90
반응형

GPU가 내장된 PC 혹은 노트북을 사용한다고 하더라도, 따로 설정을 해주지 않으면 기계학습 과정에서 CPU만을 사용한다. 과정이 약간 복잡하게 느껴지고, 한 번에 깔끔하게 되지 않기도 하지만 시간적 효율을 생각하면 꼭 해야하는 과정이다. 참고로 텐서플로우에서 제공하는 딥러닝 계열 연산에만 적용된다. (싸이킷런 내장 모델들에는 적용 x)

 

[방법 1] 아나콘다 내부 패키지 활용하기

 

나는 아직 해보지 않았는데, 글 작성 시점을 기준으로 4개월 정도 전에 업로드 된 유튜브를 참고했다. 다음과 같이 세 줄만으로 아나콘다에서 제공하는 tensorflow 버전을 다운받을 수 있다고 한다.

 

conda create -n [가상환경명] python=[원하는 파이썬 버전]
conda activate [가상환경명]
conda install -c anaconda tensorflow-gpu

새 가상환경을 구축하고, 그 안에서 다운 받는 과정이다. 세 번째 줄의 코드를 입력한 뒤 다운로드 목록에서 cudatoolkit, cudnn, tensorflow의 버전을 잘 확인하자. 해당 라이브러리들은 원래 아래의 방법처럼 수동으로 버전을 맞추어 설치해야 하지만, 아나콘다가 제공하는 패키지는 그 과정을 생략할 수 있다고 한다.

 

[방법 2] 수동으로 설치하기

 

다음의 과정을 순서대로 거치면 된다.

 

① 컴퓨터와 디바이스 사양, 자신이 설치하고자 하는 tensorflow 버전의 호환성 확인

② Visual Studio 설치

③ GPU 드라이버 설치

④ CUDA toolkit 설치

⑤ cuDNN 설치

⑥ tensorflow 설치

⑦ 잘 적용되었는지 확인

 

내가 설치했던 환경은 다음과 같다.

  • Window10 64-bit
  • Python 3.8, 아나콘다 4.10.3
  • Visual Studio 2019
  • CUDA toolkit 10.1 Update 2
  • cuDNN v7.6.5
  • Tensorflow 2.3 (pip install)

① 컴퓨터와 디바이스 사양, 자신이 설치하고자 하는 tensorflow 버전의 호환성 확인

 

OS, 그래픽드라이버의 이름 등을 먼저 확인한다.

window의 경우 검색창에 dxdiag를 입력해 '디스플레이' 탭에서 그래픽 드라이버를 확인할 수 있다.

그 다음, https://www.tensorflow.org/install에 접속하여 버전 호환성을 확인한다. 먼저 왼쪽 windows 탭에서 tensorflow 2.3에 맞는 다른 소프트웨어들의 버전을 확인한다.

cdDNN 7.6, CUDA 10.1, 컴파일러로 Visual Studio 2019가 필요함을 확인했다. GPU 디바이스 명과, 이들을 기억하고 넘어간다.

 

② Visual Studio 설치

https://visualstudio.microsoft.com/ko/vs/

 

③ GPU 드라이버 설치

https://www.nvidia.co.kr/Download/index.aspx?lang=kr 

자신의 디바이스에 맞게 검색하여 다운 받는다. 설치 과정에서 GeForce Experience는 선택하지 않아도 된다.

④/⑤ CUDA toolkit 설치 / cuDNN 설치

https://www.tensorflow.org/install/gpu

이 곳에서 CUDA toolkit과 cuDNN 설치를 할 수 있다.

https://developer.nvidia.com/rdp/cudnn-archive

cuDNN의 경우 여기서 버전에 맞게 다운 받으면 된다. (회원가입이 필요할 수 있다.)

 

⑥ tensorflow 설치

pip install tensorflow==2.3

자신이 사용하려는 버전에 맞게 다운 받는다. numpy가 내장되어 있으니 따로 다운받지 말고 호환되는 버전을 사용하도록 하자.

 

⑦ 잘 적용되었는지 확인

import tensorflow
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

해당 코드로 GPU 활용 여부가 적용되었는지 볼 수 있다.

위처럼 device_type에 GPU, 그리고 확인했던 디바이스 명과 compute capability가 3보다 큰 값으로 나온다면 정상적으로 적용되었다.

 

추가로 gpu를 할당해 학습이 진행되고 있는지 확인하는 방법으로,

ctrl + shift + esc를 눌러 작업관리자 창을 열고, '성능' 탭에서 gpu 메모리가 할당되었는지를 볼 수 있다.

 

728x90
반응형