반응형

AI Development/Pytorch 3

[Pytorch] 이미지 데이터세트에 대한 평균(mean)과 표준편차(std) 구하기

이미지 데이터는 촬영된 환경에 따라 명도나 채도 등이 서로 모두 다르기 때문에 영상 기반 딥러닝 모델을 학습시키기 전에 모든 이미지들을 동일한 환경으로 맞춰주는 작업이 필요하다. 즉, 전체 이미지에 대한 화소 값의 평균(mean)과, 표준편차(standard deviation)를 구하여 이 값들을 영상에 일괄적으로 적용하는 과정이 필요하다. 보통 Imagenet 데이터 세트에서 계산된 평균과 표준을 사용하게 된다. 이는 수백만 개의 이미지를 기반으로 계산된다. 자신의 데이터 세트에서 처음부터 학습하려는 경우 평균과 표준을 계산할 수 있지만, 그렇지 않은 경우(대부분) 자체 평균 및 표준이있는 Imagenet 으로 학습된 pre-trained model 을 사용하는 것이 좋다. 파이토치 데이터 세트에서 평..

[Pytorch] 파이토치 시간 측정, How to measure time in PyTorch

Pytorch 에서 CUDA 호출이 비동기식이기 때문에 타이머를 시작 또는 중지 하기 전에 torch.cuda.synchronize() 를 통해 코드를 동기화 시켜주어야 한다. start = torch.cuda.Event(enable_timing=True) end = torch.cuda.Event(enable_timing=True) start.record() z = x + y end.record() # Waits for everything to finish running torch.cuda.synchronize() print(start.elapsed_time(end)) 참고자료 1 : https://discuss.pytorch.org/t/best-way-to-measure-timing/39496 Best..

[Pytorch] 장치간 모델 불러오기 (GPU / CPU)

1. GPU에서 모델을 저장하고 CPU에서 불러오기 2. GPU에서 저장하고 GPU에서 불러오기 3. CPU에서 모델을 저장하고 GPU에서 불러오기 1. GPU에서 모델을 저장하고 CPU에서 불러오기 GPU 모델 저장 torch.save(model.state_dict(), PATH) 저장한 모델을 CPU에서 로드 device = torch.device('cpu') model = TheModelClass(*args, **kwargs) model.load_state_dict(torch.load(PATH, map_location=device)) 위와 같이 GPU에서 학습한 모델을 CPU에서 불러올 때는 torch.load() 함수의 map_location 인자에 'cpu' 값을 전달함 이 경우에는 Tensor..

728x90
반응형