快捷方式

torch._logging

PyTorch 有一個可配置的日誌系統,其中不同的元件可以被賦予不同的日誌級別設定。 例如,一個元件的日誌訊息可以完全被停用,而另一個元件的日誌訊息可以被設定為最大詳細程度。

警告

此功能處於測試階段,未來可能會出現相容性破壞性變更。

警告

此功能尚未擴展到控制 PyTorch 中所有元件的日誌訊息。

有兩種方法可以配置日誌系統:透過環境變數 TORCH_LOGS 或 Python API torch._logging.set_logs。

set_logs

設定個別元件的日誌級別,並切換個別的日誌物件類型。

環境變數 TORCH_LOGS 是一個以逗號分隔的 [+-]<component> 配對列表,其中 <component> 是下方指定的元件。 + 前綴會降低元件的日誌層級,顯示更多日誌訊息,而 - 前綴會提高元件的日誌層級,顯示較少的日誌訊息。預設設定是當元件未在 TORCH_LOGS 中指定時的行為。除了元件之外,還有 artifacts (工件)。Artifacts 是與元件相關聯的特定除錯資訊,它們可能顯示或不顯示,因此在 artifact 前面加上 +- 將不起作用。由於它們與元件相關聯,因此啟用該元件通常也會啟用該 artifact,除非該 artifact 被指定為 off_by_default。此選項是在 _registrations.py 中為那些過於冗長以至於只有在明確啟用時才應顯示的 artifacts 指定的。以下元件和 artifacts 可以透過 TORCH_LOGS 環境變數進行配置(有關 python API,請參閱 torch._logging.set_logs)

元件 (Components)
all

特殊元件,用於配置所有元件的預設日誌層級。預設值:logging.WARN

dynamo

TorchDynamo 元件的日誌層級。預設值:logging.WARN

aot

AOTAutograd 元件的日誌層級。預設值:logging.WARN

inductor

TorchInductor 元件的日誌層級。預設值:logging.WARN

your.custom.module

任意未註冊模組的日誌層級。提供完整名稱,該模組將被啟用。預設值:logging.WARN

Artifacts (工件)
bytecode

是否從 TorchDynamo 發出原始和生成的位元組碼。預設值:False

aot_graphs

是否發出 AOTAutograd 生成的圖。預設值:False

aot_joint_graph

是否發出 AOTAutograd 生成的聯合前向-後向圖。預設值:False

compiled_autograd

是否從 compiled_autograd 發出日誌。預設值:False

ddp_graphs

是否發出 DDPOptimizer 生成的圖。預設值:False

graph

是否以表格格式發出 TorchDynamo 捕獲的圖。預設值:False

graph_code

是否發出 TorchDynamo 捕獲的圖的 python 原始碼。預設值:False

graph_breaks

是否在 TorchDynamo 追蹤期間遇到唯一的圖中斷時發出訊息。預設值:False

guards

是否為每個編譯的函式發出 TorchDynamo 生成的 guards。預設值:False

recompiles

每次 TorchDynamo 重新編譯函式時,是否發出 guard 失敗原因和訊息。預設值:False

output_code

是否發出 TorchInductor 輸出代碼。預設值:False

schedule

是否發出 TorchInductor 排程。預設值:False

範例 (Examples)

TORCH_LOGS="+dynamo,aot" 將 TorchDynamo 的日誌層級設定為 logging.DEBUG,將 AOT 設定為 logging.INFO

TORCH_LOGS="-dynamo,+inductor" 將 TorchDynamo 的日誌層級設定為 logging.ERROR,將 TorchInductor 設定為 logging.DEBUG

TORCH_LOGS="aot_graphs" 將啟用 aot_graphs artifact

TORCH_LOGS="+dynamo,schedule" 將 TorchDynamo 的日誌層級設定為 logging.DEBUG 並啟用 schedule artifact

TORCH_LOGS="+some.random.module,schedule" 將 some.random.module 的日誌層級設定為 logging.DEBUG 並啟用 schedule artifact

文件

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources