torch._logging.set_logs¶
- torch._logging.set_logs(*, all=None, dynamo=None, aot=None, autograd=None, dynamic=None, inductor=None, distributed=None, dist_c10d=None, dist_ddp=None, dist_fsdp=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, output_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)[源代码]¶
设置各个组件的日志级别并切换各个日志工件类型。
警告
此功能是一个原型,未来可能会出现兼容性破坏的更改。
注意
环境变量
TORCH_LOGS具有完全的优先级,因此如果已设置,此函数将不执行任何操作。组件是 PyTorch 中的一组相关功能。来自特定组件的所有日志消息都有自己的日志级别。如果特定消息的日志级别优先级大于或等于其组件的日志级别设置,则会发出该消息。否则,该消息将被抑制。这使您能够,例如,静默与您无关的大量日志消息,并增加与您相关的组件的日志详细程度。预期的日志级别值按从高到低的优先级顺序排列,如下:
logging.CRITICALlogging.ERRORlogging.WARNINGlogging.INFOlogging.DEBUGlogging.NOTSET
有关日志级别的更多信息,请参阅Python
logging模块的文档: https://docs.python.org/3/library/logging.html#logging-levels工件是一种特定类型的日志消息。每个工件都被分配给一个父组件。一个组件可以发出许多不同类型的工件。通常,如果其对应的设置在下面的参数列表中被打开,或者如果其父组件的日志级别小于或等于工件的日志级别,则会发出工件。
- Keyword Arguments
全部 (
Optional[int]) – 所有组件的默认日志级别。默认值:logging.WARNdynamo (
Optional[int]) – TorchDynamo组件的日志级别。默认值:logging.WARNaot (
Optional[int]) – AOTAutograd 组件的日志级别。默认值:logging.WARNautograd (
Optional[int]) – autograd 的日志级别。默认值:logging.WARN电感器 (
Optional[int]) – TorchInductor 组件的日志级别。默认值:logging.WARN动态 (
Optional[int]) – 动态形状的日志级别。默认值:logging.WARN分布式 (
Optional[int]) – 是否记录c10d通信操作和其他来自PyTorch分布式组件的调试信息。 默认值:logging.WARNdist_c10d (
Optional[int]) – 是否在PyTorch分布式组件中记录与c10d通信操作相关的调试信息。 默认值:logging.WARNdist_ddp (
Optional[int]) – 是否记录与DistributedDataParallel``(DDP) 来自 PyTorch 分布式组件 相关的调试信息。 默认值: ``logging.WARNdist_fsdp (
Optional[int]) – 是否记录与FullyShardedDataParallel``(FSDP) 在 PyTorch 分布式 组件中 相关的调试信息。 默认值: ``logging.WARNonnx (
Optional[int]) – ONNX 导出器组件的日志级别。默认值:logging.WARN字节码 (
bool) – 是否从 TorchDynamo 发出原始和生成的字节码。 默认值:Falseaot_graphs (
bool) – 是否发出由AOTAutograd生成的图。默认值:Falseaot_joint_graph (
bool) – 是否发出由AOTAutograd生成的联合前向-后向图。默认值:False电感器 – 是否记录来自电感器cudagraph的信息。默认值:
logging.WARNddp_graphs (
bool) – 是否发出由DDPOptimizer生成的图表。默认值:False图表 (
bool) – 是否以表格格式输出TorchDynamo捕获的图表。 默认值:Falsegraph_code (
bool) – 是否发出由 TorchDynamo 捕获的图的 Python 源代码。 默认值:Falsegraph_breaks (
bool) – 是否发出TorchDynamo遇到的图断点。 默认值:Falsegraph_sizes (
bool) – 是否发出由 TorchDynamo 捕获的图的张量大小。 默认值:Falseguards (
bool) – 是否为每个编译的函数发出由 TorchDynamo 生成的 guards。默认值:False重新编译 (
bool) – 是否在每次TorchDynamo重新编译函数时发出保护失败原因和消息。默认值:Falserecompiles_verbose (
bool) – 当 TorchDynamo 重新编译一个函数时,是否发出所有防护失败的原因,即使是那些实际上没有运行的原因。默认值:Falsetrace_source (
bool) – 是否在TorchDynamo开始追踪新行时发出信号。默认值:Falsetrace_call (
bool) – 当 TorchDynamo 创建与函数调用对应的 FX 节点时,是否发出详细的行位置信息。仅适用于 Python 3.11+。默认值:Falseoutput_code (
bool) – 是否输出TorchInductor的输出代码。默认值:Falseschedule (
bool) – 是否发出TorchInductor调度。默认值:Falseperf_hints (
bool) – 是否发出TorchInductor性能提示。默认值:Falsepost_grad_graphs (
bool) – 是否发出由后梯度传递生成的图表。默认值:Falseonnx_diagnostics (
bool) – 是否在日志中输出ONNX导出器的诊断信息。默认值:Falsefusion (
bool) – 是否发出详细的Inductor融合决策。默认值:Falseoverlap (
bool) – 是否发出详细的Inductor计算/通信重叠决策。默认值:Falsesym_node (
bool) – 是否为各种 SymNode 操作发出调试信息。默认值:False导出 (
Optional[int]) – 导出的日志级别。默认值:logging.WARN模块 (字典) – 此参数提供了一种替代方式,用于以关键字参数字典的形式指定上述日志组件和工件设置。有两种情况可以使用此方式:(1) 如果已注册新的日志组件或工件,但尚未为此函数添加相应的关键字参数;(2) 如果需要设置未注册模块的日志级别。这可以通过提供完全限定的模块名称作为键,并将日志级别作为值来实现。默认值:
None
示例:
>>> import logging # 以下将“dynamo”组件的日志级别更改为DEBUG级别,并发出“graph_code”工件。 >>> torch._logging.set_logs(dynamo=logging.DEBUG, graph_code=True) # 以下为不同的模块启用日志 >>> torch._logging.set_logs(modules={"unregistered.module.name": logging.DEBUG})