自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用開(kāi)源可視化工具來(lái)理解你的Python代碼

開(kāi)源 開(kāi)發(fā)工具
VizTracer 工具可以可視化并跟蹤 Python 代碼,讓你可以更深入地了解其工作原理。

使用開(kāi)源可視化工具來(lái)理解你的Python代碼

VizTracer 工具可以可視化并跟蹤 Python 代碼,讓你可以更深入地了解其工作原理。

隨著 Python 項(xiàng)目變得越來(lái)越大、越復(fù)雜,理解起它來(lái)就變得充滿挑戰(zhàn)性。即使是你自己獨(dú)自編寫(xiě)了整個(gè)項(xiàng)目,也不可能完全知道項(xiàng)目是如何工作的。為了能更好的理解你的代碼,調(diào)試和分析代碼變得至關(guān)重要。

VizTracer 是一個(gè)這樣的工具,它通過(guò)跟蹤和可視化 Python 代碼的執(zhí)行過(guò)程,來(lái)幫助你對(duì)代碼的理解。無(wú)需對(duì)源代碼進(jìn)行任何更改,VizTracer 即可記錄函數(shù)的入口 / 出口,函數(shù)參數(shù) / 返回值以及任意變量,然后通過(guò) Trace-Viewer 使用直觀的谷歌前端界面來(lái)顯示數(shù)據(jù)。

下面是一個(gè)運(yùn)行蒙特卡洛樹(shù)搜索的例子:

 

Monte Carlo tree search visualization

每個(gè)函數(shù)都在時(shí)間線上以堆棧的形式記錄和可視化,這樣你就可以看到在運(yùn)行程序時(shí)發(fā)生了什么。你可以放大查看任意特定點(diǎn)的詳細(xì)信息:

 

Zooming in on VizTracer visualization

VizTracer 還可以自動(dòng)記錄函數(shù)參數(shù)和返回值。你可以單擊函數(shù)條目并查看詳細(xì)信息:

 

Viewing VizTracer details

或者你可以創(chuàng)建一個(gè)全新的信號(hào),并用它來(lái)記錄變量。例如,這顯示了執(zhí)行梯度下降時(shí)的成本值:

 

VizTracer gradient descent

與其他設(shè)置復(fù)雜的工具相比,VizTracer 使用起來(lái)非常簡(jiǎn)單,并且沒(méi)有任何依賴(lài)關(guān)系。你可以從 pip 安裝它:

  1. pip install viztracer

你也可以通過(guò)輸入來(lái)跟蹤你的程序(<your_script.py> 是你腳本的名稱(chēng)):

  1. viztracer <your_script.py>

VizTracer 將在你的工作目錄中生成一個(gè) HTML 報(bào)告,你可以在 Chrome 瀏覽器中打開(kāi)它。

VizTracer 還提供了其他高級(jí)功能,比如過(guò)濾器功能,你可以使用它過(guò)濾掉不想跟蹤的函數(shù),獲得更清晰的報(bào)告。例如,要僅包含文件中的函數(shù),你需要:

  1. viztracer include_files ./ --run <your_script.py>

記錄函數(shù)參數(shù)和返回值:

  1. viztracer --log_function_args --log_return_value <your_script.py>

記錄與某個(gè)正則表達(dá)式匹配的任意變量:

  1. # log variables starts with a
  2. viztracer --log_var a.* --run &lt;your_script.py&gt;

你可以通過(guò)對(duì)源代碼進(jìn)行較小的修改來(lái)獲得其他功能,例如自定義事件來(lái)記錄數(shù)值和對(duì)象。

VizTracer 還包括一個(gè)虛擬調(diào)試器(vdb),它可以調(diào)試 VizTracer 的日志文件。可以用 vdb 調(diào)試你運(yùn)行中的代碼(與 pdb 非常相似)以便你了解代碼流。有用的是,它還支持時(shí)間回溯,因?yàn)樗腊l(fā)生的一切。

與一些原型不同,VizTracer 使用純 C 語(yǔ)言實(shí)現(xiàn)其核心,這將極大地減少開(kāi)銷(xiāo),使其達(dá)到類(lèi)似于 cProfile 的水平。

VizTracer 是開(kāi)源的,在 Apache 2.0 許可下發(fā)布,支持所有常見(jiàn)的操作系統(tǒng)平臺(tái)(Linux、macOS 和 Windows)。你可以在 GitHub 上了解關(guān)于它的更多特性并訪問(wèn)源代碼。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2017-07-27 09:49:37

Python工具Matplotlib

2017-07-04 16:00:16

PythonMatplotlib可視化工具

2020-07-16 15:10:46

工具可視化Python

2019-09-27 09:12:18

開(kāi)源數(shù)據(jù)可視化大數(shù)據(jù)

2019-10-14 15:51:40

可視化技術(shù)微軟數(shù)據(jù)庫(kù)

2022-10-21 15:47:59

測(cè)試工具鴻蒙

2020-12-15 09:43:20

Python可視化工具網(wǎng)絡(luò)應(yīng)用

2015-12-02 09:44:04

Python視化工具

2019-10-24 13:12:22

開(kāi)源技術(shù) 軟件

2020-09-08 13:45:37

Python工具包代碼

2019-06-11 09:35:34

可視化工具圖形

2016-08-21 15:38:31

大數(shù)據(jù)可視化工具

2017-07-03 16:44:10

數(shù)據(jù)庫(kù)MongoDBNoSQL

2021-03-30 10:10:37

PyTorch可視化工具命令

2024-07-05 11:08:21

2019-06-23 15:44:24

Matplotlib可視化圖表

2022-04-02 14:50:22

Python工具包數(shù)據(jù)

2022-08-05 08:56:24

Python可視化工具

2024-11-04 08:49:11

2022-11-15 15:14:05

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)