美文网首页深度学习-推荐系统-CV-NLP
tensorflow 性能分析工具profile使用指南

tensorflow 性能分析工具profile使用指南

作者: 涂山容容 | 来源:发表于2019-06-21 19:32 被阅读15次

    在卷积神经网络设计好之后,难免会想要知道当前网络哪里跑的最慢,参数量有多少,flops有多少。此时,可以借助的是profile这个工具了,效果杠杠的。
    由于自己用的是python,所以这里就调用其Python接口。
    首先,导入包:

    
    from tensorflow.python.profiler import model_analyzer
    
    from tensorflow.python.profiler import option_builder
    
    

    添加了profile之后报错
    libcupti.so.9.0: cannot open shared object file
    根据
    export
    LD_LIBRARY_PATH="/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda-9.0/lib64:/usr/local/cuda-9.0/extras/CUPTI/lib64"
    修改 ~/.bashrc文件
    修改后的为
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:/usr/local/cuda-9.0/extras/CUPTI/lib64{LD_LIBRARY_PATH:+:{LD_LIBRARY_PATH}}
    然后 source ~/.bashrc
    在当前终端与接下来终端有效

    具体的使用的话,自己现在用的比较粗浅,没有用什么高大上的,就是能打印出来而已

    my_profiler = model_analyzer.Profiler(graph=Session.graph)
    run_options=tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
    run_metadata = tf.RunMetadata()
    
      _s =Session.run(seg_pred, feed_dict={image: img}, options=run_options, run_metadata=run_metadata)
        my_profiler.add_step(step=i, run_meta=run_metadata)
    
        profile_op_builder = option_builder.ProfileOptionBuilder()
        # profile_op_builder.select(['micros', 'occurrence'])
        profile_op_builder.select(['micros','float_ops'])
        profile_op_builder.order_by('micros')
        profile_op_builder.with_max_depth(5)
        # my_profiler.profile_graph(profile_op_builder.build())
        my_profiler.profile_name_scope(profile_op_builder.build())
    

    就OK了

    相关文章

      网友评论

        本文标题:tensorflow 性能分析工具profile使用指南

        本文链接:https://www.haomeiwen.com/subject/tgvuqctx.html