편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.09.01

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


    안녕하세요.

    현재 딥러닝을 사용하기 위해 텐서플로우(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을 막을 수 있을까요? 그리고 파이썬에서 메모리를 초기화 하는 방법이 있나요?

  • 프로필 심승현님의 편집
    날짜2020.09.01

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


    안녕하세요. 현재 딥러닝을 사용하기 위해 텐서플로우(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을 막을 수 있을까요? 그리고 파이썬에서 메모리를 초기화 하는 방법이 있나요?