torchvision transforms에서 왜 cuda를 붙였을 때 연산이 잘 안나오나요?
348
작성한 질문수 44
안녕하세요 gaussianblur 이미지 augmentation을 적용할 때, 이미지에 cuda에 붙였을 때와 안붙였을 때 수행시간 차이가 발생하는데, 이유가 있을까요?
아래 코드에서는 0.001s, 0.001s씩 걸리는데
import torch
import torch.nn as nn
import torch.nn.functional as F
import torchvision
from torchvision import transforms
import time
import albumentations as A
import numpy as np
sample_img = torch.randn((1, 3, 224, 224), dtype=torch.float32)
sample_img2 = torch.randn((3, 224, 224), dtype=torch.float32).cuda()
gaussian = transforms.GaussianBlur(5)
since = time.time()
gaussian_img = gaussian(sample_img)
print(f'time: {time.time()-since:.3f}s')
since = time.time()
a_gaussian = A.GaussianBlur()
gaussian_img2 = a_gaussian(image=sample_img2.permute(1, 2, 0).detach().cpu().numpy())['image']
print(f'time: {time.time()-since:.3f}s')
위 코드에서 sample_img에 cuda를 붙이면 오히려 시간이 0.4초로 늘어나게 되네요
답변 1
0
안녕하세요!
이유는 정확히 모르겠네요.. 0.4초면 꽤 많이 나는데요?
여러 번 시도하여 동일한 차이가 발생하는지 보시고요.
지금 보여주신 식을 보면 위 아래가 완전히 같지 않고 지금 한 번에 돌리신 것 같은데
시간 차이 계산이 중요하다면 동일한 조건에 하나 씩 여러 번 돌려 보면서 경향을 보시면 될 것 같아요.
수업자료 제공 부탁드립니다.
0
116
2
코드가 어디에 있는지 모르겠습니다.
0
116
2
논문 구현
0
208
2
overfitting이 나는 이유가 궁금합니다.
1
185
2
분류 성능이 잘 안 나오는 이유
0
226
1
AutoEncoder 차원 질문
1
258
2
사전 학습 모델에서의 layer 변경에 대한 질문
1
224
1
7강 폴더 만들
0
266
1
4-3강 cross-validation에서의 best model 선정 기준
0
461
1
regression 문제에 대한 결과 시각화
0
219
1
Loss function 관련하여 질문드립니다.
0
971
1
early stopping 코드 문의
0
332
1
예측 그래프
0
363
1
데이터 불균형
1
367
1
8강 전이 학습 질문
0
407
2
data의 gpu처리 질문
0
248
1
nn.Linear(1024, 10) 관련 질문드립니다.
0
296
1
학습과 평가시 Loss 함수가 다른 이유
0
255
1
전처리 관련해서 질문 있습니다.
0
231
1
데이터 엔지니어의 역량을 기르려면 어떻게 해야할까요?
0
949
2
역전파 내용 중 미분 관련 질문 드립니다
1
283
1
8강 전이학습에서 kernel size 관련 질문 드립니다.
1
967
1
이미지분류-합성곱신경망(CNN) 피쳐맵 질문입니다.
1
590
1
14강 데이터 불균형 RandomRotation
1
485
1





