한국 파이토치 포럼: https://discuss.pytorch.kr/t/cuda-out-of-memory/216/6
공식 github issue(성지? 라고 함): https://github.com/pytorch/pytorch/issues/16417
+) torch.cuda.empty_cache()
오류 관련 이슈: https://github.com/huggingface/transformers/issues/1742
여러 모델을 만들어준 후에 for문을 통해 model을 불러와 돌리게 되는데 학습 과정 중 OOM 에러 발생. (5~6번째 모델에서)
혹시나 GPU에 계속 쌓여서 그런게 아닐까싶어 train이 종료되고 gpu를 비우는 방법을 검색하게 됨.
+) OOM에러가 뜨면 gpu위에 할당한 데이터들이 남아 있어 노트북을 그 때마다 커널 재시작을 해야 하는게 번거로웠음.
del
명령어로 지워버리면 확실히 해결이 됨! [gpu에 올라간 모델 할당 해제]
코드는 아래와 같다.
import torch
import gc
with torch.no_grad(): tmp_model
del tmp_model
gc.collect()
torch.cuda.empty_cache()