如何配置python代码和回溯

时间:2017-09-21 00:51:11

标签: python tensorflow runtime profiling traceback

我试图对我的代码进行逐行分析,并希望看看TensorFlow是否可以在分析构建这些函数的底层代码时进行逐行分析或每个函数分析。

但是,可以逐行查看运行时并查看某个特定函数的源代码运行时吗?

例如,在运行SVM实现时,我选择了Github:

列:行数,点击次数,时间,每次点击,%时间,行内容

View Runtime Statistics Here

我使用了来自kernprof' Github的lprun进行分析。正如您所看到的,sess.run()函数占用了94%的时间,我想知道如何使用TensorFlow或其他工具来查看sess.run下代码的细粒度细分来查看为什么它占94%的时间。当然,人们可以使用每次击中的时间,因为我正在迭代1000个时代,以获得更好的等级"百分比细分,但它没有深入了解有关源代码的更多信息。

如果代码中的文字太小,我附上.txt文件以便于查看。

任何反馈都会非常有帮助。谢谢!

编辑:我想通了。您可以使用以下链接中的 Line Profiler 示例多次调用kernprof实现的LineProfiler实例:https://zapier.com/engineering/profiling-python-boss/。您可以通过在 follow 参数中键入该函数的名称来指定要查看的函数。

1 个答案:

答案 0 :(得分:0)

对于tensorflow,你所做的所有python代码都是创建一个计算图并运行该图。所有的计算操作都将在图形中运行,因此sess.run将占用大部分时间。有一个工具调用'timeline'可用于在图表中进行配置。你可以google它,它的使用非常简单。