일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- #프로젝트
- tensorflow update
- keras
- TensorFlow
- #실생활 영어
- tokenizing
- 이미지 생성
- 영어
- #1일1영어
- python __init__
- #Android
- convexhull
- #영어
- python list
- word embedding
- c언어
- text2img
- #영어 명언
- #일상영어
- object detection
- 딥러닝
- 완전탐색
- opencv SURF
- #opencv
- findContours
- python 알고리즘
- Convolution Neural Network
- #English
- #실생활영어
- 영어명언
- Today
- Total
When will you grow up?
[Error] torch.distributed.elastic.multiprocessing.errors.ChildFailedError 오류 본문
[Error] torch.distributed.elastic.multiprocessing.errors.ChildFailedError 오류
미카이 2024. 12. 8. 21:42Multi-GPU Training 중 발생한 오류 해결 사례 공유
최근 Multi-GPU Training을 진행하던 중 아래와 같은 오류가 발생하여 학습이 중단되는 상황을 겪었습니다.
torch.distributed.elastic.multiprocessing.errors.ChildFailedError
이 오류를 해결하기 위해 다양한 방법을 시도해 보았고, 결국 마지막 방법으로 문제를 해결할 수 있었습니다. 이 글에서는 오류를 해결하기 위해 시도했던 과정과 해결 방법을 공유하고자 합니다.
1. 오류 발생 원인 추정
이 오류의 원인은 보통 다음과 같은 상황에서 발생할 수 있습니다:
- RAM 부족
- GPU Memory 부족
- PyTorch 버전 문제
- Batch Size 설정 문제
위 원인들을 하나씩 점검하며 해결 방법을 적용해 보았습니다.
2. 시도한 해결 방법
(1) shm(SHared Memory) 확장
Multi-GPU 환경에서 데이터를 로드하는 과정에서 공유 메모리 부족 문제가 발생할 수 있습니다. 이를 해결하기 위해 --shm-size 옵션을 사용하여 Docker 컨테이너의 공유 메모리를 확장했습니다.
docker run --shm-size=8g ...
그러나 이 방법만으로는 문제가 해결되지 않았습니다.
(2) PyTorch 버전 변경
사용 중이던 PyTorch 버전이 2.0.4였는데, 이를 최신 버전인 2.4.0으로 업데이트해 보았습니다. PyTorch는 버전 간 성능 최적화나 버그 픽스가 포함되므로, 이를 변경하면 문제가 해결되는 경우도 많습니다.
업데이트 명령은 다음과 같습니다:
pip install torch==2.4.0
하지만, 이 역시 제가 직면한 문제의 직접적인 원인을 해결하지는 못했습니다.
(3) Batch Size 조절
기본적으로 설정된 Batch Size는 128이었습니다. 이를 줄여서 GPU 메모리 사용량을 낮춰 보기로 했습니다. Batch Size를 64로 절반 줄인 후 다시 학습을 실행했더니, 오류 없이 학습이 진행되는 것을 확인했습니다.
코드별 다양한 예시가 있겠지만, 내 학습의 경우 batch_size를 다음과 같이 수정할 수 있었다.
train_loader = DataLoader(dataset, batch_size=64, shuffle=True)
이 글이 비슷한 문제를 겪고 있는 분들께 도움이 되길 바랍니다! 🚀
참고
'02. Study > Error' 카테고리의 다른 글
AttributeError: module 'cv2.dnn' has no attribute 'DictValue' (0) | 2024.08.12 |
---|