torch._logging.set_logs¶
- torch._logging.set_logs(*, all=None, dynamo=None, aot=None, autograd=None, dynamic=None, inductor=None, distributed=None, c10d=None, ddp=None, fsdp=None, dtensor=None, onnx=None, bytecode=False, aot_graphs=False, aot_joint_graph=False, ddp_graphs=False, graph=False, graph_code=False, graph_breaks=False, graph_sizes=False, guards=False, recompiles=False, recompiles_verbose=False, trace_source=False, trace_call=False, trace_bytecode=False, output_code=False, kernel_code=False, schedule=False, perf_hints=False, post_grad_graphs=False, onnx_diagnostics=False, fusion=False, overlap=False, export=None, modules=None, cudagraphs=False, sym_node=False, compiled_autograd=False, compiled_autograd_verbose=False, cudagraph_static_inputs=False, benchmarking=False, graph_region_expansion=False)[source][source]¶
設定個別元件的日誌等級,並切換個別日誌工件類型。
警告
此功能為原型,未來可能會出現不相容的變更。
注意
TORCH_LOGS
環境變數的優先順序完全高於此函數,因此如果已設定,則此函數不會執行任何動作。元件是 PyTorch 中一組相關的功能。從給定元件發出的所有日誌訊息都有自己的日誌等級。如果特定訊息的日誌等級優先順序大於或等於其元件的日誌等級設定,則會發出該訊息。否則,該訊息會被抑制。這讓您可以靜音與您無關的大量日誌訊息,並提高與您相關的元件的日誌詳細程度。預期的日誌等級值,從最高到最低優先順序排序如下:
logging.CRITICAL
logging.ERROR
logging.WARNING
logging.INFO
logging.DEBUG
logging.NOTSET
有關日誌等級的更多資訊,請參閱 Python
logging
模組的說明文件:https://docs.python.org/3/library/logging.html#logging-levels工件是一種特定類型的日誌訊息。每個工件都會被分配到一個父元件。一個元件可以發出許多不同種類的工件。一般來說,如果以下參數列表中對應的設定已開啟,或者如果其父元件設定的日誌等級小於或等於工件的日誌等級,則會發出工件。
- 關鍵字引數
all (
Optional[int]
) – 所有元件的預設日誌等級。預設值:logging.WARN
dynamo (
Optional[int]
) – TorchDynamo 元件的日誌等級。預設值:logging.WARN
aot (
Optional[int]
) – AOTAutograd 元件的日誌等級。預設值:logging.WARN
autograd (
Optional[int]
) – autograd 的日誌等級。預設值:logging.WARN
inductor (
Optional[int]
) – TorchInductor 元件的日誌等級。預設值:logging.WARN
dynamic (
Optional[int]
) – 動態形狀的日誌等級。預設值:logging.WARN
distributed (
Optional[int]
) – 是否記錄 c10d 通訊操作以及來自 PyTorch Distributed 元件的其他除錯資訊。預設值:logging.WARN
c10d (
Optional[int]
) – 是否記錄 PyTorch Distributed 元件中與 c10d 通訊操作相關的除錯資訊。預設值:logging.WARN
ddp (
Optional[int]
) – 是否記錄與DistributedDataParallel``(DDP) 來自 PyTorch Distributed 元件相關的除錯資訊。 預設值: ``logging.WARN
fsdp (
Optional[int]
) – 是否記錄 PyTorch Distributed 元件中與FullyShardedDataParallel``(FSDP) 相關的除錯資訊。 預設值: ``logging.WARN
dtensor (
Optional[int]
) – 是否記錄 PyTorch Distributed 元件中與DTensor``(DTensor) 相關的除錯資訊。 預設值: ``logging.WARN
onnx (
Optional[int]
) – ONNX 匯出器元件的日誌等級。預設值:logging.WARN
bytecode (
bool
) – 是否從 TorchDynamo 發出原始和產生的位元組碼。預設值:False
aot_graphs (
bool
) – 是否發出由 AOTAutograd 產生的圖形。預設值:False
aot_joint_graph (
bool
) – 是否發出由 AOTAutograd 產生的聯合正向-反向圖形。預設值:False
ddp_graphs (
bool
) – 是否發出由 DDPOptimizer 產生的圖形。預設值:False
graph (
bool
) – 是否以表格格式發出由 TorchDynamo 捕獲的圖形。預設值:False
graph_code (
bool
) – 是否發出由 TorchDynamo 捕獲的圖形的 python 原始碼。預設值:False
graph_breaks (
bool
) – 是否發出 TorchDynamo 遇到的圖形中斷。預設值:False
graph_sizes (
bool
) – 是否發出由 TorchDynamo 捕獲的圖形的張量大小。預設值:False
guards (
bool
) – 是否發出由 TorchDynamo 為每個編譯函數產生的守衛。預設值:False
recompiles (
bool
) – 每當 TorchDynamo 重新編譯函數時,是否發出守衛失敗原因和訊息。預設值:False
recompiles_verbose (
bool
) – 當 TorchDynamo 重新編譯函數時,是否發出所有守衛失敗原因,即使那些實際上沒有運行的原因。預設值:False
trace_source (
bool
) – 當 TorchDynamo 開始追蹤新行時,是否發出資訊。預設值:False
trace_call (
bool
) – 當 TorchDynamo 建立對應於函數呼叫的 FX 節點時,是否發出詳細的行位置資訊。僅限 Python 3.11+。預設值:False
trace_bytecode (
bool
) – 當 TorchDynamo 追蹤位元組碼時,是否發出位元組碼指令和追蹤的堆疊狀態。預設值:False
output_code (
bool
) – 是否針對每個圖形發出 TorchInductor 輸出程式碼。預設值:False
kernel_code (
bool
) – 是否針對每個核心發出 TorchInductor 輸出程式碼。預設值:False
schedule (
bool
) – 是否發出 TorchInductor 排程。預設值:False
perf_hints (
bool
) – 是否發出 TorchInductor 效能提示。預設值:False
post_grad_graphs (
bool
) – 是否發出 post grad passes 之後產生的圖表。預設值:False
onnx_diagnostics (
bool
) – 是否在日誌記錄中發出 ONNX 導出器診斷訊息。預設值:False
fusion (
bool
) – 是否發出詳細的 Inductor fusion 決策。預設值:False
overlap (
bool
) – 是否發出詳細的 Inductor 計算/通信重疊決策。預設值:False
sym_node (
bool
) – 是否為各種 SymNode 操作發出除錯資訊。預設值:False
export (
Optional[int]
) – 導出的日誌等級。預設值:logging.WARN
benchmarking (
bool
) – 是否發出詳細的 Inductor 效能評估資訊。預設值:False
modules ( dict) – 此參數提供另一種方式來指定上述日誌元件和人工因素設定,其格式為作為單一參數提供的關鍵字引數字典。在兩種情況下,這很有用:(1)如果已註冊新的日誌元件或人工因素,但尚未將其關鍵字引數新增至此函式,以及(2)如果需要設定未註冊模組的日誌等級。可以通過提供完全限定的模組名稱作為鍵,並以日誌等級作為值來完成。預設值:
None
cudagraph_static_inputs (
bool
) – 是否發出 cudagraph 靜態輸入偵測的除錯資訊。預設值:False
graph_region_expansion (
bool
) – 是否發出重複圖形區域追蹤器擴展演算法的詳細步驟。預設值:False
範例
>>> import logging # The following changes the "dynamo" component to emit DEBUG-level # logs, and to emit "graph_code" artifacts. >>> torch._logging.set_logs(dynamo=logging.DEBUG, graph_code=True) # The following enables the logs for a different module >>> torch._logging.set_logs(modules={"unregistered.module.name": logging.DEBUG})