捷徑

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})

文件

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