[TENSORFLOW] Debugging

2017. 7. 13. 10:19machine learning

TENSORFLOW DEBUGGING 방법에 대해 알아보자.

우선 TENSORFLOW는 lazy evaluation 방법으로 동작하기 때문에 debugging 해서 출력 값을 알아내기가 상당히 힘들다. 

그래서 나는 python pudb package를 사용하였다.


우선 아래와 같이 pudb를 설치하자.


$> pip3 install pudb


그 후에 debug 하고자 하는 소스 코드에 아래와 같이 입력해준다.


import pudb

pudb.set_trace()


위 코드가 입력된 후 코드를 실행시키면 아래와 같이 파란 화면이 뜨는 것을 확인할 수 있다.



ctrl-x를 누르면 command 창으로 넘어갈 수 있고, 다시 ctrl-x를 누르면 code 창으로 넘어간다. 

code 창에서는 n을 누르면 step by step으로 다음 단계로 넘어가는 것을 확인해 볼 수 있다.

몇 단계 step을 거친 후 ctrl-x를 누르고 debugging 하고 싶어하는 변수를 입력해 보자.



역시 해당 debugging에서도 실제 값이 나타나는 것이 아니라 해당 tensor의 shape를 보여 준다. 하지만 일일이 print를 찍어 확인하는 것보다는 상당히 유용한 방법인 것 같다.

debugging을 종료하고 싶을 때는 code 창으로 간 후 q를 누르면 빠져나온다.