使用pudb调试TensorFlow Python源码

简介

    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

你可能感兴趣的:(tensorflow)