[pytorch] num_workers (작성중)

ma-kjh·2023년 9월 25일
0

Pytorch

목록 보기
10/20

Pytorch를 가지고 모델을 훈련하다보면 가끔 GPU util이 제대로 나오지 않는 상황을 발견할 수 있다.

여러가지 이유가 있겠지만, 가장 먼저 생각해볼 것은 GPU에 올리기 위한 CPU의 연산이 적절히 수행되고 있는가를 살펴볼 수 있을 것이다.

특히, Imagenet같은 꽤 큰 데이터를 256, 512 혹은 그 이상의 배치사이즈를 사용해 훈련을 진행하고자 할 때, 이러한 현상을 쉽게 관찰할 수 있는데, 이는 CPU에서 배치를 나누고 GPU에 이미지를 보내는 과정에서 병목현상이 발생하기 때문이다.

이를 해결하기 위해서는 충분한 CPU를 사용하여 GPU에 올려주는 속도를 올려줄 필요가 있는데, 이를 가능케 하는것이 DataLoader의 num_worker로 알고 있다.

일반적으로 2의 배수를 사용하는데, 숫자를 크게 사용한다고 해서 항상 속도가 빨라지는 것은 아니다. 본인의 CPU와 GPU에 적절한 num_worker를 사용하여 최적의 속도 향상을 찾는 것이 중요할 것이다.

profile
거인의 어깨에 올라서서 더 넓은 세상을 바라보라 - 아이작 뉴턴

0개의 댓글