简介
TensorFlow是C++和Python实现的,构建Graph和一些op的调用都是在Python实现,可以使用pudb来单步调试TensorFlow的Python源码。
pudb 项目地址:https://github.com/inducer/pudb
pudb 文档地址:https://documen.tician.de/pudb/
Python的调试工具
pdb:
ipdb:
pudb :本文采用的是pudb,pudb是在pdb上提供了终端上的IDE功能,可以用键盘上下查看代码,并且可以直接选择和查看所有变量的值,比ipdb更加友好并且可在任意服务器上运行,因此最推荐pudb,安装方式 pip install pudb
单步调试TensorFlow源码
我们编写一个简单TensorFlow应用,在代码中插入pudb语句,代码运行到这一步就会进入pudb调试界面
import tensorflow as tf
import pudb;pudb.set_trace() #添加这一行即可
matrix1=tf.constant([[3, 3]])
matrix2=tf.constant([[2], [2]])
product = tf.matmul(matrix1, matrix2)
with tf.Session() as sess:
result=sess.run([product])
print(result)
pudb 调试界面:
pudb 常用的几个命令,最重要的是记住?,需要的时候按”?”查询
- n: next,也就是执行一步
- s: step into,进入函数内部
- c: continue
- b: break point,断点
- !: python command line
- ?: help
Reference
- https://documen.tician.de/pudb/
- http://legendtkl.com/2015/10/31/pudb-howto/
- https://weibo.com/ttarticle/p/show?id=2309404041801458651571