当前位置: 首页 > 科技观察

使用开源可视化工具了解您的Python代码

时间:2023-03-13 12:14:31 科技观察

VizTracer工具可以可视化和跟踪Python代码,让您更深入地了解其工作原理。随着Python项目变得越来越大和越来越复杂,理解起来会变得很有挑战性。即使你自己编写了整个项目,也不可能确切地知道项目是如何工作的。为了更好地理解您的代码,对其进行调试和分析变得至关重要。VizTracer就是这样一种工具,它通过跟踪和可视化代码的执行来帮助您理解您的代码。VizTracer无需对源代码做任何改动,即可记录函数进入/退出、函数参数/返回值、任意变量,然后使用直观的Google前端界面通过Trace-Viewer显示数据。下面是运行蒙特卡罗树搜索的示例:蒙特卡罗树搜索可视化每个函数都被记录并可视化为时间轴上的堆栈,因此您可以在运行程序时看到发生了什么。您可以放大以查看任何特定点的详细信息:放大VizTracer可视化VizTracer还可以自动记录函数参数和返回值。您可以单击函数条目并查看详细信息:查看VizTracer详细信息,或者您可以创建一个全新的信号并使用它来记录变量。例如,这显示了执行梯度下降时的成本值:VizTracer梯度下降与其他设置复杂的工具相比,VizTracer使用起来非常简单,并且没有任何依赖关系。您可以从pip安装它:pipinstallviztracer您还可以通过键入以下命令跟踪您的程序(是您的脚本的名称):viztracerVizTracer将在您的工作目录报告中生成一个HTML,您可以在Chrome浏览器中打开。VizTracer还提供了其他高级功能,例如过滤功能,您可以使用它过滤掉您不想跟踪的功能并获得更清晰的报告。例如,要在文件中仅包含函数,您可以:viztracerinclude_files./--run记录函数参数和返回值:viztracer--log_function_args--log_return_value使用正则表达式记录与模式匹配的任何变量:#logvariablesstartswithaviztracer--log_vara.*--run您可以通过对源代码进行少量修改来获得其他功能,例如用于记录值和对象的自定义事件。VizTracer还包括一个虚拟调试器(vdb),它可以调试VizTracer的日志文件。您可以使用vdb调试正在运行的代码(很像pdb),这样您就可以了解代码流。有用的是,它还支持回到过去,因为它知道发生的一切。与某些原型不同,VizTracer以纯C语言实现其核心,这将开销大大降低到类似于cProfile的水平。VizTracer是开源的,在Apache2.0许可下发布,支持所有常见的操作系统平台(Linux、macOS和Windows)。您可以了解有关其功能的更多信息并访问GitHub上的源代码。