快捷方式

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'}))[source][source]

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

all_mismatch_leaf_graph_info()[source][source]

返回所有具有不匹配的叶 GraphInfo 对象的列表。

返回类型

list[torch.onnx.verification.GraphInfo]

clear()[source][source]

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

essential_node_count()[source][source]

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

返回类型

int

essential_node_kinds()[source][source]

返回子图中节点种类的集合,不包括 _EXCLUDED_NODE_KINDS 中的节点种类。

返回类型

set[str]

export_repro(repro_dir=None, name=None)[source][source]

将子图导出到 ONNX,并附带输入/输出数据以进行复现。

复现目录将包含以下文件

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) – 用于导出复现文件的目录。如果为 None,则默认为当前工作目录。

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

返回

导出的复现目录的路径。

返回类型

str

find_mismatch(options=None)[source][source]

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

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

参数

options (VerificationOptions | None) – 验证选项。

find_partition(id)[source][source]

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

返回类型

GraphInfo | None

has_mismatch()[source][source]

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

返回类型

bool

pretty_print_mismatch(graph=False)[source][source]

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

参数

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

pretty_print_tree()[source][source]

漂亮地打印 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)[source][source]

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

将 TorchScript IR 图导出到 ONNX,其中包含此对象中记录的输入、参数和导出选项。然后,在提供的验证选项下,针对原始 TorchScript IR 图验证导出的 ONNX 图。

参数

options (VerificationOptions) – 验证选项。

返回

验证期间引发的 AssertionError。如果未引发错误,则返回 None。 onnx_graph:以 TorchScript IR 格式导出的 ONNX 图。 onnx_outs:在 options 中 onnx 后端下运行导出的 ONNX 模型的输出。 pt_outs:运行 TorchScript IR 图的输出。

返回类型

error

文档

访问 PyTorch 的综合开发者文档

查看文档

教程

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

查看教程

资源

查找开发资源并获得问题解答

查看资源