快捷方式

torch._logging

PyTorch 具有可配置的日志记录系统,其中不同的组件可以被赋予不同的日志级别设置。例如,一个组件的日志消息可以完全禁用,而另一个组件的日志消息可以设置为最大详细程度。

警告

此功能处于测试阶段,将来可能存在与兼容性相关的重大变更。

警告

此功能尚未扩展到控制 PyTorch 中所有组件的日志消息。

有两种方法可以配置日志记录系统:通过环境变量 TORCH_LOGS 或 python API torch._logging.set_logs。

set_logs

设置各个组件的日志级别,并切换各个日志工件类型。

环境变量 TORCH_LOGS 是一个逗号分隔的 [+-]<component> 对列表,其中 <component> 是下面指定的组件。 + 前缀会降低组件的日志级别,显示更多日志消息,而 - 前缀会提高组件的日志级别,显示更少的日志消息。默认设置是当组件未在 TORCH_LOGS 中指定时的行为。除了组件之外,还有工件。工件是与组件关联的特定调试信息,这些信息要么显示要么不显示,因此用 +- 为工件加前缀将是无操作的。由于它们与组件相关联,因此启用该组件通常也会启用该工件,除非该工件被指定为 off_by_default。此选项是在 _registrations.py 中为那些非常冗长的工件指定的,它们应该只在明确启用时显示。以下组件和工件可以通过 TORCH_LOGS 环境变量进行配置(有关 python API,请参见 torch._logging.set_logs)

组件
all

配置所有组件的默认日志级别的特殊组件。默认: logging.WARN

dynamo

TorchDynamo 组件的日志级别。默认: logging.WARN

aot

AOTAutograd 组件的日志级别。默认: logging.WARN

inductor

TorchInductor 组件的日志级别。默认: logging.WARN

your.custom.module

任意未注册模块的日志级别。提供完全限定的名称,该模块将被启用。默认: logging.WARN

工件
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 为每个编译函数生成的保护措施。默认: False

recompiles

是否每次 TorchDynamo 重新编译函数时发出保护失败原因和消息。默认: False

output_code

是否发出 TorchInductor 输出代码。默认: False

schedule

是否发出 TorchInductor 调度。默认: False

示例

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 工件

TORCH_LOGS="+dynamo,schedule" 将把 TorchDynamo 的日志级别设置为 logging.DEBUG 并启用 schedule 工件

TORCH_LOGS="+some.random.module,schedule" 将把 some.random.module 的日志级别设置为 logging.DEBUG 并启用 schedule 工件

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得您的问题答案

查看资源