python 텐서플로우(keras) 메모리leak 어떻게 해결하나요?

조회수 710회

안녕하세요.

현재 딥러닝을 사용하기 위해 텐서플로우(keras)를 사용하고 있는데, 메모리 leak 때문에 문제가 있습니다.

gc.set_debug(gc.DEBUG_LEAK)을 이용해서 log을 보았더니.

gc: collectable TensorShape 0x0000022CA3D3CE88
gc: collectable tensorflow.python.framework.ops.EagerTensor 0x0000022CA3D5D3B8
gc: collectable TensorShape 0x0000022CA3D3CDC8
gc: collectable tensorflow.python.framework.ops.EagerTensor 0x0000022CA3D5D1A8
gc: collectable MeanMetricWrapper 0x0000022CA3D5FF08
gc: collectable function 0x0000022CA42EE3A8
gc: collectable dict 0x0000022CA3D4FAE8

이런 식의 아주 많은 로그가 떴습니다. 저만큼 메모리 leak이 되고 있다고 판단하고 있는데, 문제는 del [[변수,변수,변수]]로 모든 사용 변수를 지워도 메모리 leak을 막을 수 없다는 것입니다.

gc.collect()을 사용해도 소용없었습니다.

어떻게 하면 메모리 leak을 막을 수 있을까요? 그리고 파이썬에서 메모리를 초기화 하는 방법이 있나요?

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)