• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

DataLoader에서 num_workers 개념 설명 다시 한 번 부탁드려요

20.02.28 18:03 작성 조회수 4.63k

0

안녕하세요.  강의 잘 듣고 있습니다.

강의 도중 import torch 하고 train/valid data를 이미지와 레이블 각각 페어링해주는 단계에서 DataLoader 설명하시면서 짧게 num_workers는 학습 batch단위로 연산할 때 필요한 cpu/gpu 개수를 의미한다고 하셨는데 그럼 기본적으로 num_workers = 0 은 gpu가 없는 컴퓨터에서 학습을 진행할 때 이렇게 설정한다는 뜻인가요? 0으로 설정하는 의미와 gpu가 있다면 이 숫자가 어떻게 바뀔 수 있는지 등이 궁금합니다.

감사합니다. 

답변 1

답변을 작성해보세요.

0

안녕하세요. Justin입니다.

num_workers는 현재 작업하고 있는 환경 내에서 어떤 프로세스에 데이터를 불러올 것인지 조정하는 파라미터입니다.

0이 Default값이며, 0은 Main Process에 데이터를 불러오는 것을 의미합니다.

만약 Multi-Processing을 이용해서 데이터를 로드할 경우 Process의 개수에 맞게 할당하여 인자값을 조절하기도 합니다.

자세한 내용은 파이토치 다큐먼트를 확인하세요!

https://pytorch.org/docs/stable/data.html

감사합니다.