본문 바로가기
Python 기초

Python 기초(Anaconda GPU 세팅하기)

by Oceanlighth AI 2023. 4. 11.

안녕하세요 오션라이트에이아이 백승기연구원입니다.

 

이번 글에서는 머신러닝, 딥러닝을 활용할 경우 꼭 필요한 GPU 설정에 대해서 알아보겠습니다.

 

GPU 설정이란?

 

우리가 머신러닝, 딥러닝을 활용할 경우, 특히 이미지나 영상처리와 관련되었을 경우에는 GPU 사용이 필수적입니다.

 

CPU를 사용하여 학습시킬 수 있지만, 시간을 오래 잡아먹기 때문에 GPU 설정을 하여 학습시켜야 합니다.

 

그래픽 카드는 Nvidia계열과 AMD계열 등이 있지만, 보통의 경우에는 Nvidia계열의 그래픽카드를 사용하기 때문에 Nvidia그래픽카드를 설정하는 방법에 대해서 알아보겠습니다.

 

사용자의 그래픽카드 확인하기

 

파이썬에서 GPU설정을 하기 위해서는 먼저 사용자의 그래픽카드에 대해서 확인해야합니다.

 

먼저 윈도우 검색화면에서 장치관리자를 검색합니다.

 

그림 1 - 1. 윈도우 검색화면에서 장치관리자 검색하여 실행하기

 

그런 다음, 디스플레이 어댑터를 눌러보시면 사용자의 그래픽카드를 확인할 수 있습니다.

 

그림 1 - 2. 사용자의 그래픽카드 확인하기

 

저는 지금 노트북에서 글을 작성하고 있기 때문에, 노트북 메인보드의 내장 그래픽 카드와 외장 그래픽 카드 두 개의 그래픽카드가 있습니다. 

 

혹은 Nvidia의 그래픽 드라이버를 설치하여 Nvidia Experience에서 그래픽 카드의 정보를 확인할 수 있습니다.

 

그림 1 - 3. Nvidia Experience에서 내 그래픽 카드 정보 확인하기

 

우리는 GPU의 모델명도 중요하지만 GPU가 사용할 수 있는 GPU 메모리도 확인을 해보아야 합니다. 

 

GPU 메모리를 확인하는 방법을 알아보겠습니다.

 

먼저 윈도우 + R 키를 눌러 실행창을 열어서 dxdiag를 입력하여 실행해 보도록 하겠습니다. 

 

그림 1 - 4. 실행창에서 dxdiag를 입력하여 실행하기

 

위의 명령어를 실행시키면 DirextX 진단도구가 실행되어 나타날 것입니다.

 

그림 1 - 5. DirectX 진단도구에서 사용자의 그래픽 카드에 대해서 확인하기

 

DirectX를 천천히 보면 사용자의 CPU와 GPU, 기타 운영체제 등의 정보를 확인할 수 있습니다.

 

제 노트북의 GPU와 디스플레이 메모리(VRAM)를 확인하니 Nvidia Geforce RTX 3050 노트북용 GPU이고 VRAM은 4GB 정도인 것을 확인했습니다. 

 

아니면 오픈소스를 활용하여 GPU에 대해서 확인할 수 있습니다.

 

GPU-Z.2.50.0.exe
7.16MB

 

위에서 사용자의 GPU를 확인하였으면 파일을 따로 받아서 확인할 필요는 없습니다.

 

그림 1 - 6. 오픈소스인 GPU-Z를 이용하여 사용자의 GPU확인하기

 

지금까지 사용자의 GPU에 대해서 확인하였습니다. 

 

다음으로는 GPU세팅을 시작해 보겠습니다.

 

Nvidia 그래픽 드라이버 설치하기

 

저는 이미 그래픽 드라이버를 설치하였으나, 그래픽 드라이버가 없는 경우 미리 설치를 해주어야 합니다.

 

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

 

해당 링크를 통해 위에서 확인한 그래픽카드에 맞는 드라이버를 설치해 줍니다.

 

그림 2. 사용자의 환경에 맞는 그래픽 드라이버 설치하기

 

다음으로는, CUDA GPU가 사용자의 그래픽카드를 지원하는지 확인합니다.

 

https://developer.nvidia.com/cuda-gpus

 

해당링크에서 사용자의 그래픽카드가 CUDA의 지원을 받을 수 있는지 확인해 보겠습니다.

 

그림 3 - 1. 사용자의 그래픽카드를 지원하는지 확인하기

 

그림 3. 과 같이 저는 GeForce를 사용하고 있기 때문에, 파란색으로 드래그된 곳을 클릭해 보겠습니다.

 

그림 3 - 2. CUDA GPU가 사용자의 그래픽 카드를 지원하는지 확인하기

 

제 환경에서는 CUDA Compute Capability가 8.6인 것을 확인할 수 있습니다.

 

tensorflow, tensorflow-gpu 설치하기

 

다음으로는 tensorflow와 tensorflow-gpu를 설치해 보도록 하겠습니다.

 

Anaconda 프롬프트를 열어서 지난번에 만들어둔 가상환경을 실행시켜 보도록 하겠습니다.

 

그림 4. Anaconda 프롬프트에서 가상환경 실행시키기

 

저는 tensorflow와 tensorflow-gpu를 2.10.0 버전으로 설치할 것입니다.

 

conda install tensorflow==2.10.0
pip install tensorflow_gpu==2.10.0

 

(설치할 당시 인터넷 환경이 불안정하여 tensorflow는 conda install을 사용했고, tensorflow-gpu는 pip install을 사용하였습니다.)


위의 명령어를 Anaconda 프롬프트에서 가상환경을 실행시킨 후 하나씩 설치해 주면 됩니다.

 

그림 5. tensorflow_gpu가 지원하는 CuDNN과 CUDA 버전을 확인하기

 

그림 5. 와 같이 해당 링크를 통해 tensorflow_gpu-2.10.0 버전이 지원하는 CuDNN과 CUDA 버전을 확인하여 설치해 보겠습니다.

 

CUDA, CuDNN 설치하기

 

먼저 CUDA부터 설치해 주겠습니다.

 

https://developer.nvidia.com/cuda-toolkit-archive에  접속하여 위에서 확인한 CUDA 버전을 찾아서 설치합니다.

 

그림 6 - 1. CUDA Toolkit 설치하기

 

그림 6 - 2. 사용자 환경에 맞게 설정하여 CUDA Toolkit 다운받기

 

그림 6 - 2. 와 같이 사용자의 환경에 맞게 설정을 하여 우측 하단의 Download 버튼을 통해 다운로드할 수 있습니다.

 

저는 Windows환경이고 Window 11이지만 설정을 할 수 없기 때문에 윈도우 10 버전, 그리고 exe(local)을 설정하여 다운로드하였습니다.

 

참고 - Nvidia의 아이디가 없으면 그림과 같은 화면이 나오지 않을 수 있습니다.
Nvidia홈페이지에 접속하여 회원가입을 하여 로그인하여야 그림과 같은 화면이 나타납니다.

 

다운로드한 CUDA를 설치하겠습니다.

 

그림 6 - 3. CUDA 설치옵션

 

그림 6 - 4. CUDA 사용자 정의 설치 옵션

 

그림 6 - 4.처럼 저는 CUDA의 모든 항목들을 설치하겠습니다.

 

해당 옵션을 확인하고 설치를 계속 진행하겠습니다.

 

CUDA를 설치하고  

 

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA

 

해당 경로에 들어가면 우리가 설치한 버전인 v11.2라는 폴더가 생겨있습니다.

 

다음으로는 CuDNN을 설치해 보겠습니다.

 

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

 

위의 링크를 따라가면(nvidia에 로그인되어 있어야 합니다.),

 

그림 7 - 1. cuDNN를 다운받을 수 있는 페이지

 

그림 7. 과 같이 나오게 됩니다. 우리가 위에서 확인했다시피, cuDNN은 8.1 버전을 사용할 것이기 때문에 Archived cuDNN Releases라는 버튼을 눌러 우리가 원하는 버전을 찾아보겠습니다.

 

그림 7 - 2. cuDNN 아카이브에서 원하는 버전을 찾기

아카이브를 찾아 들어가서 원하는 버전을 찾아 클릭하면 그림 7 - 2. 와 같은 화면이 나오게 됩니다.

 

사용자의 운영체제에 맞게 다운로드하여주면 됩니다.

 

윈도우 환경에서는 다운로드한 파일이 .zip파일로 되어있습니다.

 

파일의 압축을 해제하면 다음과 같은 폴더가 있는 것을 확인할 수 있습니다.

 

그림 7 - 3.cuDNN 파일을 압축해제한 모습

 

bin, include, lib 폴더를 복사하여 위에서 확인했던 CUDA 설치경로에 붙여 넣기 합니다.

 

CUDA, CuDNN이 제대로 설치되었는지 확인하기

 

이제 CUDA와 CuDNN이 제대로 설치되었는지 확인해 보도록 하겠습니다.

 

CUDA 설치 확인하기

1. 윈도우 검색창에서 명령 프롬프트를 실행시킵니다.
2. nvcc --version 명령어를 입력하여 CUDA 설치가 제대로 이루어졌는지 확인합니다.

그림 8 - 1. CUDA 설치 확인하기

 

 

CuDNN 설치 확인하기

1. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include 경로에서 cudnn_vesion.h 파일을 메모장으로 열기
2. CUDNN 버전 확인하기

그림 8 - 2. CuDNN 버전 확인하기

그림 8 - 2. 는 CuDNN 버전이 8.1.0이라고 나타내고 있습니다.

 

파이썬 환경에서 CUDA 사용하기

 

지금까지 tensorflow, tensorflow-gpu, CUDA, CuDNN 설치에 대해서 알아보았습니다.

 

그렇다면 실제로 파이썬 환경에서는 어떻게 사용하는지 확인해 보도록 하겠습니다.

 

pytorch 설치하기

 

먼저 Anacond 프롬프트를 실행시켜서 사용하고 있는 가상환경에 pytorch를 설치해 줍니다.

 

https://pytorch.org/get-started/locally/

 

위의 링크를 들어가면,

 

그림 9. Pytorch 홈페이지 화면

 

그림 9. 와 같이 cuda버전에 따라서 pytorch를 설치할 수 있는 명령어를 나타냅니다.

 

제 컴퓨터에는 CUDA 11.2 버전을 설치해 뒀기 때문에 

 

그림 10. 지난 버전의 pytorch 설치하기


그림 10. 과 같이 Previous PyTorch Versions 탭을 클릭하여 사용자의 CUDA 버전에 맞는 PyTorch명령어를 사용해 설치하면 됩니다.

 

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.1 -f https://download.pytorch.org/whl/torch_stable.html

 

위의 명령어는 제가 설치한 CUDA의 버전에 맞춰서 설치하는 명령어입니다. 

 

사용자의 컴퓨터 환경에 따라서 다른 버전의 torch를 설치하여야 정상 작동합니다.

 

torch를 사용하여 Cuda가 정상적으로 작동하는지 확인하기

 

이제 마지막 단계입니다. 위에서 설치한 torch를 사용하여 cuda가 GPU를 제대로 사용하는지 확인해 보도록 하겠습니다.

 

먼저 Anaconda 프롬프트를 열어서 가상환경을 실행시켜 보도록 하겠습니다.

 

그림 11 - 1. 가상환경 실행시키기

 

다음으로는 가상환경에서 python을 입력하여 python 입력 환경을 실행시킵니다.

 

(PyTorch를 설치하는 과정에서 Python 버전을 3.9.0으로 낮춰서 설치하였습니다.)

 

그림 11 - 2. 가상환경에서 파이썬 실행시키기

 

마지막으로 해당 코드를 통해서 CUDA가 제대로 사용되는지 확인해 보도록 하겠습니다.

 

import torch
torch.cuda.is_available()
torch.cuda.get_device_name(0)

 

위의 명령어를 한 줄씩 실행시키면 다음과 같은 화면이 나오게 됩니다.

 

그림 11 - 3. CUDA가 정상적으로 작동하는지 확인하기

그림 11 - 3. 과 같이 torch.cuda.is_available()이 True, 

torch.cuda.get_device_name(0)이 사용자의 GPU를 정상적으로 출력하면 CUDA가 정상적으로 작동하는 것입니다.

 

이제 학습을 시킬 때 사용자의 GPU를 사용할 수 있습니다.

 

마치며

 

이번 글에서는 tensorflow, CUDA, CuDNN, PyTorch의 설치를 해보았습니다.

 

학습을 진행하기전, 사용자의 환경에 맞게 여러가지 도구들의 버전 설정을 잘 해두어야 합니다. 

댓글