Computer Science/에러 기록 정리

[tf, keras] OOM Error (Out of Memory)

JG Ahn 2020. 7. 1. 16:42

에러

보통 tf에서 무거운 모델을 돌릴 때 발생한다.

 

발생 상황

  1. batch_size가 큰 경우
  2. Model을 두번 compile 한 경우
  3. GPU가 이상이 있는 경우
  4. Fully-connected 단에서 Dense layer가 높은 경우, 즉 Train parameter가 매우 큰 경우
  5. Session이 clear 되지 않은 경우

 

해결 방법

  1. batch_size를 줄여가면서 Test를 해본다.
  2. Model.compile를 찾아서 문제를 해결한다.
  3. 터미널에서 아래의 명령어를 이용하여 reset을 수행한다.
    • nvidia-smi -r
  4. Fully-connected 단을 확인하여 Dense layer의 연결수를 줄이거나 제거한다.
  5. 세션을 clear하는 것을 loop 내에 둔다.
    • from keras import backend as K
    • K.session_clear()

참고