图形信息

classtorch.onnx.verification.GraphInfo(graph, input_args, params_dict, export_options=<factory>, id='', _EXCLUDED_NODE_KINDS=frozenset({'aten::ScalarImplicit', 'prim::Constant', 'prim::ListConstruct'}))[源代码]

GraphInfo 包含 TorchScript 图及其转换为 ONNX 图的验证信息。

all_mismatch_leaf_graph_info()[源代码]

返回所有存在差异的叶子 GraphInfo 对象的列表。

返回类型

列表[\torch.onnx.verification.GraphInfo]

clear()[源代码]

清除之前验证的状态和结果。

essential_node_count()[源代码]

返回排除了_EXCLUDED_NODE_KINDS中节点后的子图的节点数量。

返回类型

int

essential_node_kinds()[源代码]

返回子图中排除了_EXCLUDED_NODE_KINDS的节点类型的集合。

返回类型

[ ]

export_repro(repro_dir=None, name=None)[源代码]

将子图导出到 ONNX,并包含输入和输出数据以便复现结果。

repro 目录将包含以下文件:

dir
├── test_<name>
│   ├── model.onnx
│   └── test_data_set_0
│       ├── input_0.pb
│       ├── input_1.pb
│       ├── output_0.pb
│       └── output_1.pb
参数
  • repro_dir (str|None) – 用于导出重现实验文件的目录。如果未指定,则默认为当前工作目录。

  • name (str|None) – 测试用例文件夹的可选名称:“test_{name}”。

返回值

导出的重现实验目录的路径。

返回类型

str

find_mismatch(options=None)[源代码]

找出 TorchScript IR 图与导出的 ONNX 模型之间所有的不一致之处。

在模型图中进行二分搜索,以找到表现出不匹配的最小的子图,并为每个子图创建一个GraphInfo对象,记录测试输入、导出选项及验证结果。

参数

options (VerificationOptions | None) — 配置验证的选项。

find_partition(id)[源代码]

查找具有给定ID的GraphInfo对象。

返回类型

GraphInfo 或 None

has_mismatch()[源代码]

如果子图在 Torch 和 ONNX 之间的输出不匹配,则返回 True。

返回类型

bool

pretty_print_mismatch(graph=False)[源代码]

漂亮地打印出torch和ONNX之间不匹配的详细信息。

参数

graph (bool) – 若设置为 True,则输出 ATen JIT 图和 ONNX 图。

pretty_print_tree()[源代码]

漂亮地打印 GraphInfo 树。

每个节点代表一个子图,显示子图中的节点数量,并在torch和ONNX的输出不匹配时标记一个对勾。

子图的 ID 在节点下方显示。可以使用 graph_info.find_partition(id) 方法来获取任何子图的 GraphInfo 对象。

示例:

==================================== Tree: =====================================
5 X   __2 X    __1 ✓
id:  |  id: 0 |  id: 00
     |        |
     |        |__1 X (aten::relu)
     |           id: 01
     |
     |__3 X    __1 ✓
        id: 1 |  id: 10
              |
              |__2 X     __1 X (aten::relu)
                 id: 11 |  id: 110
                        |
                        |__1 ✓
                           id: 111
=========================== Mismatch leaf subgraphs: ===========================
['01', '110']
============================= Mismatch node kinds: =============================
{'aten::relu': 2}
verify_export(options)[源代码]

验证从 TorchScript 中间表示图导出到 ONNX 的过程。

将TorchScript IR图导出为ONNX格式,并将输入、参数和导出选项记录在该对象中。然后根据提供的验证选项,对导出的ONNX图与原始的TorchScript IR图进行对比验证。

参数

options (VerificationOptions) - 验证选项。

返回值

在验证过程中引发的AssertionError,如果没有错误则返回None。onnx_graph:以TorchScript IR格式导出的ONNX图。onnx_outs:在options下使用onnx后端运行导出的ONNX模型时产生的输出。pt_outs:运行TorchScript IR图所产生的输出。

返回类型

错误

本页目录