pytorch中ipdb的调试功能

在pytorch中使用ipdb可以对程序实现单步调试等,使用命令pip install ipdb安装即可。在需要调试的代码前面加上ipdb.set_trace()即可,当程序运行到这一步的时候,自动进入调试模式,例如采用next或者缩写n进行单步执行,如果程序中有跟调试相冲的变量名,在前面加!即可。下面说下ipdb的两大功能。
查看:查看函数的局部变量。
修改:修改程序中的变量,并影响后面程序的运行结果。
n:单步执行。
s:step,如果当前行为函数,进入函数内部。
u:up,返回上一层,即调用的那层
d:down,跳到调用的下一层
return:继续运行直到函数返回
变量名:当需要查看某个变量的时候,直接输入变量名,如果跟调试命令重复,使用!变量名
c:continue,继续运行,直到遇到断点
q:quit,退出调试。

ipdb使用的小技巧:
tab:自动补齐。
j <lineno>跳过中间某行代码的执行。

此外,可以在pytorch中查看神经网络的各个层的输出,以及分析各个参数的梯度,动态修改pytorch的训练流程。程序运行一段时间后,可以通过touch/tmp/debug创建debug标识文件,当程序检测到这个文件的存在时,就会自动进入debug模式,退出则可以直接使用quit即可,程序结束后可以删除该文件。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 12,364评论 0 27
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,791评论 1 32
  • 又一个属于爱情的狂欢盛宴即将到来! 此刻,你是否抓耳挠腮、绞尽脑汁不知送什么礼物最能代表你的心,或是已经精心布置好...
    念一文阅读 4,097评论 2 2