背景
在用python编写神经网络模型时,感觉模型训练的有点慢,于是想查看一下各个模块的运行时间,一直使用time.time,有点繁琐,因此想有没有可以直接一次性统计整个代码所有模块的运行时间的库,经过查找发现snakeviz库可以实现该功能。详细介绍请移步官网:https://jiffyclub.github.io/snakeviz/
安装与使用
安装很简单,直接使用pip安装即可:pip install snakeviz
使用:
首先执行你要查看的代码my_program.py
python -m cProfile -o program.prof my_program.py
执行完成,会在目录下生成program.prof文件,接着执行
snakeviz program.prof
即可,会在浏览器中生成下图:
鼠标移动到各矩形框上,就会在左边显示在什么文件中,哪部分代码,哪一行,运行了多长时间,占总时间的比例等等信息,非常全面。