본문 바로가기

딥러닝/정보

[딥러닝] 딥러닝 GPU 사용 확인법 (in pytorch)

환영합니다!

 

딥러닝 기초 예제를 활용할 때, CPU활용을 유도하는 곳도 많습니다.

하지만 실습자 중에는 저처럼 GPU를 활용하고 싶은 분도 많죠.

그런데 처음에는 GPU 사용을 설정하고, 뭐야.. 잘 된건가? 긴가민가 할 때가 있습니다.

본 게시물은 딥러닝 시 GPU 사용 여부를 확인할 수 있게 작성 되었습니다.

 

GPU 사용을 확인하려면 먼저 pytorch 기준 프로그램이 깔려있어야겠죠

저희 환경 구성은 아래와 같습니다.

1. Anaconda

2. Pytorch

3. CUDA 10.1

 

저의 이전 게시글에서 설치하는 법을 참고하실 수 있습니다.

ymh-labs.tistory.com/2

 

pytorch 설치 in anaconda. for 3분 딥러닝 파이토치맛 (CUDA 사용)

환영합니다! 작성자의 PC 환경은 크게 다음과 같습니다. Windows 10 Ryzen 3500X GTX 1060 1. Anaconda //아래 URL의 최하단에서 다운로드 받을 수 있습니다. 아나콘다는 가상환경을 임의로 만듦으로써, 파이썬

ymh-labs.tistory.com

 

1. Python code로 확인할 수 있는 방법입니다.

본인 PC가 CPU를 사용하는지 GPU를 사용하는지 간단히 알 수 있는 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F
from torchvision import transforms, datasets
 
USE_CUDA=torch.cuda.is_available()
DEVICE=torch.device("cuda" if USE_CUDA else "cpu")
 
print(DEVICE)
 
cs

 

print(DEVICE)에서 gpu가 사용된다면 "cuda"가, cpu가 사용된다면 "cpu"가 출력됩니다.

글쓴이의 PC는 CUDA 사용 가능하다

 

 

2. 딥러닝을 진행하면서 작업관리자의 GPU 사용량을 통해 확인하는 방법입니다.

저는 3분 딥러닝 파이토치맛 4장, neuralneural_network.py를 돌려보면서 GPU 사용량을 체크해봤습니다.

실행 전 작업관리자 > 성능 > GPU 탭을 들어가야 합니다.

프로그램 실행시 GPU 사용량 변곡점 발생

위 캡처 처럼 딥러닝 시작 시부터 변곡점이 생긴것을 발견 할 수 있습니다.

그럼에도 불구하고 GPU 사용량이 2%인 것은 지금 딥러닝 로직과 데이터가 가벼운 것을 쓰기 때문에 사용량 자체에는 큰 영향을 미치지 않는 것 같습니다.

 

 

3. CPU 대비 얼마나 빨라졌을까?

cpu대비 gpu가 얼마나 빨라졌을지 궁금해졌습니다.

똑같은 코드에서 DEVICE = cuda or cpu로만 바꿔주면 되겠죠?

1
2
3
import time
start = time.time() 
print("time :", time.time() - start)  # 현재시각 - 시작시간 = 실행 시간
cs

 

시간을 측정하는 위 코드를 적절히 딥러닝 예제에 삽입하여 시간을 측정할 수 있습니다.

저는 오래 기다리기 귀찮은 고로, 예제 코드를 epochs=5로 확 줄여버렸습니다. 차이가 있는지만 비교할 거니까요!

일단 cpu가 66초인데..?
어음.. 아.. 아! 신경쓰지마셍!

소폭.. 이긴 하지만 확실히 cuda가 앞서는 것을 확인할 수 있습니다.

위 GPU 사용량이 얼마 안되었고, 로직과 데이터가 간단해 gpu에 영향을 크게 받지 않아서 소폭밖에차이가 나지 않은 것 같습니다. 제가 epochs를 너무 줄인 것도 한 몫 한 것 같구요.

아니면, 그래픽 카드 대란에서 존버용 1060이 너무 후져서..?

 

결과적으로, 이번 포스팅에서 pytorch 학습 시 GPU 사용량부터, CPU대비 빨라지는 속도를 확인 할 수 있었습니다!