快捷方式

torch._logging

PyTorch 有一个可配置的日志系统,可以为不同的组件设置不同的日志级别。例如,可以完全禁用某个组件的日志消息,而将另一个组件的日志消息设置为最高详细级别。

警告

此功能处于 Beta 阶段,将来可能存在破坏兼容性的更改。

警告

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

有两种方式配置日志系统:通过环境变量 TORCH_LOGS 或 Python API torch._logging.set_logs

set_logs

设置单个组件的日志级别并切换单个日志产物类型。

环境变量 TORCH_LOGS 是一个逗号分隔的 [+-]<组件> 对列表,其中 <组件> 是下面指定的组件。 + 前缀将降低组件的日志级别,显示更多日志消息;而 - 前缀将提高组件的日志级别,显示更少日志消息。未在 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 生成的原始和生成后的 bytecode。默认值: 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

示例

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 全面的开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源