ipdb

参考:
ipdb 使用小记

  1. 修改损失函数时会涉及到很多矩阵运算,矩阵运算中维度的对齐需要多次调试,之前调试常用手段是print方法,但是这种方法会让代码显得很乱。每次 import tensorflow as tf 都要十几秒,然后 print 完之后想进一步看其他变量的信息,又要重新执行一遍。
  2. python 提供了一个默认的 debugger:pdb,而 ipdb 则是 pdb 的增强版,提供了补全、语法高亮等功能,类似于 ipython 与 python 默认的交互终端的关系,通过 pip install ipdb 即可安装 ipdb。
  3. ipdb 的使用方法一般有两种:集成到源代码或通过命令交互。
  4. 集成到源代码可以直接在代码指定位置插入断点。如下所示:
import ipdb
var1 = 23
ipdb.set_trace()
  1. 上面的代码会在执行完 var1 = 23 这条语句之后停止,展开 ipython 环境,之后就可以自由地调试了。
  2. 这种方法的缺点:
    一:插入的断点代码会污染原来的代码空间
    二:每次插入断点都需要修改源码
  3. 交互式的命令式调试方法更加方便。启动命令式调试环境的方法
python -m ipdb code.py
  1. 接着就是通过一些常用的命令来进行 debug了,如上面插入断点的样例代码就可以通过以下命令达到同样效果:
python -m ipdb code.py
ipdb> b 3
Breakpoint 1 at /test.py:3
ipdb> c
  1. 上面的命令 b 3 表示在第三行设置一个断点,然后通过命令 c 一直执行至断点处,接着就会展开 ipython 环境进行调试了。b 和 c 分别代表了 break 和 continue.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值