使用pycallgraph和Graphviz可视化函数的调用关系-可用于cnn或者rnn的可视化调用

第一步:先安装pip install pycallgraph和graphviz

第二步:http://www.graphviz.org/download/   在官网上找到 graphviz-2.38.smi文件直接按照,注意记住按照路径,

第三步:配置bin文件的用户环境目录和系统环境目录,用户环境目录是 path\grapgviz_name\bin,系统环境path\grapgviz_name\bin\dot.exe,注意重启系统,path是你自己安装的路径,graphviz_name是相应的名字

第四步:直接上代码,可视化调用关系需要加入整个代码使用的文件名(.py格式)

使用pycallgraph和Graphviz可视化函数的调用关系-可用于cnn或者rnn的可视化调用_第1张图片

第五步:

#++++++++++++++++++++++++++++++++++++++
#++++++这个比tensorboard的更加简洁
#+++++++++++++++++++++++++++++++++++++++++
import argparse
from data.LCSTS.preprocess import preprocess
import json
from config.configurable import Configurable
from train_op import build_train_op
from helper import Helper
from run import train


from pycallgraph import PyCallGraph
from pycallgraph.output import GraphvizOutput
from pycallgraph import Config
from pycallgraph import GlobbingFilter



config = Configurable('data')


def main():
    """
    这个区域是主函数代码,这里调用了上面的python文件
    
    """
    
if __name__=='__main__':        
    config1 = Config();
    config1.trace_filter = GlobbingFilter(include=['encoder.*','decoder.*','helper.*','metrics.*','model.*','loss.*','trai_op.*','run.*'])
    # 这个地方的include是要在图上显示的东西,直接使用python '文件名.*'想显示多少就加多少
    graphviz = GraphvizOutput()
    graphviz.output_file="test.png"
    with PyCallGraph(output=graphviz,config=config1):
        main()
        

 

 

第六步:调用关系可视化

这个图最上面的run,decoder,helper,metrics就是文件名,也就是一个框就是一个文件,代码结构非常清晰地展现出来了,如果还想显示更多可以加上更多函数名或者库名,非常灵活,代码就几行,

 

使用pycallgraph和Graphviz可视化函数的调用关系-可用于cnn或者rnn的可视化调用_第2张图片

 

你可能感兴趣的:(python学习笔记)