python 텐서플로우(keras) 메모리leak 어떻게 해결하나요?
조회수 719회
안녕하세요.
현재 딥러닝을 사용하기 위해 텐서플로우(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을 막을 수 있을까요? 그리고 파이썬에서 메모리를 초기화 하는 방법이 있나요?
댓글 입력