Shortcuts

GraphInfo

class torch.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对象的列表。

Return type

列表[GraphInfo]

clear()[源代码]

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

essential_node_count()[源代码]

返回子图中节点的数量,不包括那些在_EXCLUDED_NODE_KINDS中的节点。

Return type

int

essential_node_kinds()[源代码]

返回子图中节点类型的集合,不包括那些在_EXCLUDED_NODE_KINDS中的节点类型。

Return type

集合[字符串]

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

将子图导出为ONNX,并附带用于重现的输入/输出数据。

重现目录将包含以下文件:

dir
├── test_
│   ├── model.onnx
│   └── test_data_set_0
│       ├── input_0.pb
│       ├── input_1.pb
│       ├── output_0.pb
│       └── output_1.pb
Parameters
  • repro_dir (可选[字符串]) – 导出重现文件的目录。如果为None,则默认为当前工作目录。

  • 名称 (可选[字符串]) – 测试用例文件夹的可选名称:“test_{name}”。

Returns

导出的重现目录的路径。

Return type

str

find_mismatch(options=None)[源代码]

查找TorchScript IR图与导出的onnx模型之间的所有不匹配。

二分搜索模型图以找到显示不匹配的最小子图。为每个子图创建一个GraphInfo对象,记录测试输入和导出选项,以及验证结果。

Parameters

options (可选[VerificationOptions]) – 验证选项。

find_partition(id)[源代码]

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

Return type

可选[GraphInfo]

has_mismatch()[源代码]

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

Return type

bool

pretty_print_mismatch(graph=False)[源代码]

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

Parameters

graph (bool) – 如果为True,打印ATen JIT图和ONNX图。

pretty_print_tree()[源代码]

美化打印 GraphInfo 树。

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

子图的ID显示在节点下方。可以通过调用graph_info.find_partition(id)来检索任何子图的GraphInfo对象。

示例:

==================================== 树: =====================================
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
=========================== 不匹配的叶子子图: ===========================
['01', '110']
============================= 不匹配的节点类型: =============================
{'aten::relu': 2}
verify_export(options)[源代码]

验证从TorchScript IR图到ONNX的导出。

将 TorchScript IR 图导出为 ONNX,并将输入、参数和导出选项记录在此对象中。然后根据提供的验证选项,验证导出的 ONNX 图与原始 TorchScript IR 图是否一致。

Parameters

options (VerificationOptions) – 验证选项。

Returns

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

Return type

错误