• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    해결됨

안녕하세요 ..? gpu 사용량에 대해서 질문이 있습니다.

21.08.28 22:06 작성 조회수 314

0

안녕하세요 .. ? 강사님

강의 잘 듣고 있고, 정말 많이 배우고 있습니다.

자꾸 귀찮게 해드리는 것은 아닌지 죄송할 따름입니다. 

Oxford Pet의 dataset의 학습을 다 끝내거나, cfg와 epoch5.pth로 inference_detector로 모델을 만들어 하나의 이미지에 

object detection을 수행을 끝낸 뒤에 리눅스에서 nvidia-smi로 gpu 사용량을 확인해 보면 학습 또는 object detection이 끝났음에도 gpu 사용량이 유지되는 것을 확인했습니다.(학습이 끝난 뒤에도 몇 분이 지났음에도 nvidia-smi를 눌렀을 때, 10650Mib의 사용량을 유지 했습니다.)

이 gpu 사용량이 왜 유지 되는 것인지 혹시 알 수 있을까요 .. ?

아래 사진은 object detection이 끝난 후 수분이 지났음에도 유지되는 gpu 사용량 사진입니다.

답변 1

답변을 작성해보세요.

1

안녕하십니까, 

tensorflow 또는 pytorch의 경우 기본적으로 GPU에서 한번 잡은 메모리를 잘 해제하지 않습니다. 학습이 끝나도 모델을 학습 시킬 때 잡았던 메모리를 일반적으로는 잘 release 하지 않습니다. 물론 명시적으로 GPU에서 Memory를 release하는 api가 tensorflow나 pytorch에 있지만,  이렇게 할 경우 메모리에 있는 모델까지 다 날라가게 됩니다. 

mmdetection에서 어떻게 구현을 했는지는 모르지만 아마도 이러한 특성 때문에 학습이 끝나도 여전히 GPU에서 메모리를 잡고 있을 것입니다. 하지만 해당 메모리는 다시 재 활용되기 때문에 다시 학습 시킬 때 메모리가 부족해 지지는 않습니다. 

감사합니다.  

bgw2001님의 프로필

bgw2001

질문자

2021.08.29

감사합니다 ~!!