目录

torch.onnx diagnostics

概述

注意:此功能正在开发中,可能会发生更改。

目标是改进诊断,以帮助用户调试和改进其模型导出到 ONNX。

  • 诊断信息以机器可解析的静态分析结果交换格式 (SARIF) 发出。

  • 一种新的、更清晰、结构化的方式来添加新的诊断规则并跟踪诊断规则。

  • 作为未来使用诊断的更多改进的基础。

诊断规则

API 参考

torch.onnx._internal.diagnostics。ExportDiagnostic*argsframes_to_skip=1cpp_stack=False**kwargs[来源]

所有导出诊断的基类。

此类用于表示所有导出诊断。它是 下Diagnostic,并添加其他方法以向 诊断。

record_cpp_call_stackframes_to_skip[来源]

在诊断中记录当前 C++ 调用堆栈。

返回类型

torch.onnx._internal.diagnostics.infra。DiagnosticEngine[来源]

基于 SARIF 的通用诊断引擎。

此类是诊断的主接口。它管理诊断上下文的创建。 DiagnosticContext 提供用于记录 Diagnostics 的入口点。 见下文。DiagnosticContext 了解更多详情。

例子

第 1 步:创建一组规则。 >>> rules = infra.RuleCollection.custom_collection_from_list( …“CustomRuleCollection”、 …[ …下规则 ( …id=“r1”, …name=“rule-1”, 则 …message_default_template=“Mising xxx”, … ), … ], … )

步骤 2:创建诊断引擎。 >>>引擎 = DiagnosticEngine()

步骤 3:启动新的诊断上下文。 >>> engine.create_diagnostic_context(“torch.onnx.export”, version=“1.0”) 作为上下文: … …

第 4 步:在代码中添加诊断。 …context.diagnose(rules.rule1, infra.Level.ERROR)

第 5 步: 之后,获取 SARIF 日志。 >>> sarif_log = engine.sarif_log()

clear)[来源]

清除所有诊断上下文。

create_diagnostic_contextnameversionoptions=Nonediagnostic_type=<class 'torch.onnx._internal.diagnostics.infra.engine.Diagnostic'>[来源]

创建新的诊断上下文。

参数
  • namestr) – 诊断上下文的主题名称。

  • versionstr) – 诊断上下文的主题版本。

  • optionsOptional[DiagnosticOptions]) – 诊断上下文的选项。

结果

新的诊断上下文。

返回类型

DiagnosticContext

dumpfile_pathcompress=False[来源]

将 SARIF 日志转储到文件中。

pretty_printverbose=Falselevel=Level.ERROR)[来源]

Pretty 在诊断上下文中打印所有诊断。

参数
  • verbosebool) – 是否以详细模式打印诊断。请参阅 Diagnostic.pretty_print。

  • levelLevel) (级别) – 要打印的诊断的最低级别。

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

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

查看教程

资源

查找开发资源并解答您的问题

查看资源