machine learning
[TENSORFLOW] Debugging
유주원
2017. 7. 13. 10:19
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를 누르면 빠져나온다.