PyTorch에서 GPU 여러 개 사용하기(1)
PyTorch 공식 튜토리얼 정리 - 라이브러리 살펴보기
DistributedDataParallel
- batch size는 GPU 수보다 커야 한다.
DistributedDataParallel
은torch.nn.DataParallel
보다 상당히 빠르다.- N개의 GPU가 있는 host에서
DistributedDataParallel
를 사용하려면 N개의 프로세스가 있어야 하고, 각 프로세스는 0번에서 N-1번까지의 GPU 각각에서 동작한다. 이것은CUDA_VISIBLE_DEVICES
를 설정하거나 모든 프로세스에torch.cuda.set_device(i)
를 부르면 된다. i는 0에서 N-1까지의 수 이다. - 각 프로세스에서, 이 모듈을 구성하려면 다음을 참조해야 한다.
>>> torch.distributed.init_process_group(
>>> backend='nccl', world_size=N, init_method='...'
>>> )
>>> model = DistributedDataParallel(model, device_ids=[i], output_device=i)
- 노드 당 여러 프로세스를 생성하려면
torch.distributed.launch
또는torch.multiprocessing.spawn
을 사용할 수 있다.
Parameters
Author And Source
이 문제에 관하여(PyTorch에서 GPU 여러 개 사용하기(1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ji-in/PyTorch에서-GPU-여러-개-사용하기1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)