doc22_098.md 3.7 KB
Newer Older
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
1 2
# torch._logging

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
3
> 原文:[`pytorch.org/docs/stable/logging.html`](https://pytorch.org/docs/stable/logging.html)
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
4

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
5
PyTorch 具有可配置的日志系统,其中不同的组件可以具有不同的日志级别设置。例如,一个组件的日志消息可以完全禁用,而另一个组件的日志消息可以设置为最大详细程度。
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
6 7 8 9 10 11 12

警告

此功能是一个原型,未来可能会有兼容性破坏性变化。

警告

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
13
此功能尚未扩展到控制 PyTorch 中所有组件的日志消息。
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
14

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
15
有两种配置日志系统的方法:通过环境变量`TORCH_LOGS`或 python API torch._logging.set_logs。
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
16

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
17
| `set_logs` | 设置各个组件的日志级别并切换各个日志艺术品类型。 |
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
18 19
| --- | --- |

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
20
环境变量`TORCH_LOGS`是一个由`[+-]<component>`对组成的逗号分隔列表,其中`<component>`是下面指定的组件。前缀`+`将减少组件的日志级别,显示更多日志消息,而前缀`-`将增加组件的日志级别,并显示更少的日志消息。默认设置是当未在`TORCH_LOGS`中指定组件时的行为。除了组件外,还有艺术品。艺术品是与组件关联的特定调试信息片段,可以显示或不显示,因此用`+``-`前缀对艺术品进行操作将不起作用。由于它们与组件相关联,启用该组件通常也会启用该艺术品,除非该艺术品被指定为默认关闭。对于那些应该仅在显式启用时显示的艺术品,在 _registrations.py 中指定了此选项。以下组件和艺术品可通过`TORCH_LOGS`环境变量进行配置(请参阅 torch._logging.set_logs 以获取 python API):
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
21 22 23 24 25 26 27 28 29

组件:

全部

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

动力

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
30
TorchDynamo 组件的日志级别。默认值:`logging.WARN`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
31 32 33

AOT

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
34
AOTAutograd 组件的日志级别。默认值:`logging.WARN`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
35 36 37

感应器

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
38
TorchInductor 组件的日志级别。默认值:`logging.WARN`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
39 40 41 42 43 44 45 46 47

your.custom.module

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

艺术品:

字节码

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
48
是否生成 TorchDynamo 的原始和生成的字节码。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
49

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
50
AOT 图
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
51

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
52
是否生成 AOTAutograd 生成的图形。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
53

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
54
AOT 联合图
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
55

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
56
是否生成 AOTAutograd 生成的联合前向-后向图。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
57 58 59

已编译的自动微分

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
60
是否从 compiled_autograd 发出日志。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
61

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
62
ddp 图
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
63

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
64
是否生成 DDPOptimizer 生成的图形。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
65 66 67



绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
68
是否以表格格式生成 TorchDynamo 捕获的图形。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
69 70 71

图形代码

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
72
是否生成 TorchDynamo 捕获的图形的 Python 源代码。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
73 74 75

图中断

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
76
是否在 TorchDynamo 跟踪期间遇到唯一图形中断时发出消息。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
77 78 79

守卫

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
80
是否为每个编译函数生成的 TorchDynamo 守卫。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
81 82 83

重新编译

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
84
是否在 TorchDynamo 重新编译函数时每次发出守卫失败原因和消息。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
85 86 87

输出代码

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
88
是否生成 TorchInductor 输出代码。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
89 90 91

时间表

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
92
是否生成 TorchInductor 时间表。默认值:`False`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
93 94 95

示例:

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
96
`TORCH_LOGS="+dynamo,aot"`将 TorchDynamo 的日志级别设置为`logging.DEBUG`,AOT 设置为`logging.INFO`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
97

绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
98
`TORCH_LOGS="-dynamo,+inductor"`将 TorchDynamo 的日志级别设置为`logging.ERROR`,TorchInductor 设置为`logging.DEBUG`
绝不原创的飞龙's avatar
绝不原创的飞龙 已提交
99 100 101 102 103 104

`TORCH_LOGS="aot_graphs"` 将启用 `aot_graphs` artifact

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

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