PyTroch DataLoader의 병렬 프로세싱!
·
AI/Deep Learning
다른 분이 작성한 PyTorch 코드를 보던 중, Dataset.__getitem__(index) 메서드에서 하드, 서버에 저장된 데이터를 불러오도록 구현한 것을 확인하였다. __getitem__(index) 는 학습 과정에서 사용되는 매서드인데, 학습 과정에서 batch를 만들기위해 매번 하드에 접근한다면 큰 시간적 비효율이 있을텐데 왜 이렇게 다들 구현을 한건지 궁금해졌다. 그래서 찾아보던 중 PyTroch의 똑똑한 기능을 알게되어 공유해본다. PyTrorch의 DataLoader는 기본적으로 병렬 프로세싱을 지원해 다음과 같이 CPU, GPU 자원을 시간효율적으로 사용할 수 있도록 지원한다. 여기서 병렬 프로세싱은, 아래처럼 GPU가 forward와 backward를 수행하는 동안, CPU는 디스크..