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 跳过中间某行代码的执行。

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

你可能感兴趣的:(pytorch中ipdb的调试功能)