10. GPU OOM(Out Of Memory) 해결방법
2023. 11. 17. 14:28ㆍNAVER AI Tech/Pytorch
Out Of Memory 문제?
1. batch size 줄여라
2. GPU clean
3. 다시 실행
!pip install GPUtil
import GPUtil
GPUtil.showUtilization() # 현재 GPU 상태를 보여줌!! iteration 마다 메모리가 늘어나는지 확인.
torch.cuda.empty_cache() # 사용되지 않는 cache clean. 근데.......... 경험상 도움이 되지 않았던 경우가 많았다.
** Tip:
1. training loop 내에서 tensor로 축적되는 변수를 확인해서 없애줄 것.(=메모리 낭비)
- 1-d tensor의 경우 python 기본 객체로 변환. tensor.item 을 활용해서 메모리 적재되는 것을 방지하자.
2. del명령어 적절히 사용하기.
- python 특성 상 loop이 끝나도 메모리를 차지하기 때문에 사용하지 않는 변수는 메모리에서 삭제하면서 관리하자.
3. 에러 발생 시 try-except 문을 활용해서 batch_size를 1로 조절하는 코드를 구현하도록 하자.
4. Inference 시점에서는 torch.no_grad() 구문을 사용해서 backward pass 시 쌓이는 메모리를 방지하자.
'NAVER AI Tech > Pytorch' 카테고리의 다른 글
9. Hyper-parameter tuning (0) | 2023.11.17 |
---|---|
8. multi-GPU (0) | 2023.11.17 |
7. pytorch monitoring tools (0) | 2023.11.17 |
6. 모델 저장, 불러오기 (0) | 2023.11.17 |
5. pytorch dataset (0) | 2023.11.16 |