python
python profiler 설정
scjung
2020. 2. 5. 18:05
이전에 keras에서 _make_predict_function 이라는 내부 함수로 인해 predict 시간을 측정하는데 오류를 뿜뿜하면서
파트너님이 profile 등을 써서 오류를 줄이도록 하라는 말을 하셨다
그래서 profiler를 먼저 찾아봤는데
python 상에서 cprofile 이라는 것이 있었다
근데 보기도 불편하고 이게 뭔소린가.... 싶으면서 나는 jupyter 상에서 보고 싶어서 좀 더 찾아본 결과
line_profiler 라는 것이 있더라
python3 -m pip install line_profiler
위 명령어로 line_profiler를 설치하고
코드 위쪽에 아래 코드를 선언해준다
%load_ext line_profiler
그리고 이제 profile을 하려는 함수를 아래 형태로 써준다
%lprun -f <profile_function> <profile_function()>
hardnet으로 테스트한 코드를 보자면
%lprun -f torch_util.validate torch_util.validate(hard_net, valid_loader, loss_fn, iou.iou_pytorch, device)
이런 식이 된다
결과는
같이 나오는데 gpu를 학습하는데 쓰고 있어서 중간에 끊었는데 위와 같이 시간이 이상하게 찍혔다
암튼 jupyter에서 위와 같이 한 눈에 볼 수 있어서 많이 편해졌지만 얼마 안썼지.... (파트너님 죄송)