onnx.backend

后端

class onnx.backend.base.Backend[source]

后端是一个实体,它将接收带有输入的ONNX模型,执行计算,然后返回输出。

对于一次性执行,用户可以使用run_node和run_model快速获取结果。

对于重复执行,用户应使用prepare,其中Backend会为重复执行模型完成所有准备工作(例如,加载初始化器),并返回一个BackendRep句柄。

classmethod run_node(node: NodeProto, inputs: Any, device: str = 'CPU', outputs_info: Sequence[tuple[dtype, tuple[int, ...]]] | None = None, **kwargs: dict[str, Any]) tuple[Any, ...] | None[source]

简单运行一个操作符并返回结果。

Parameters:
  • node – 节点原型。

  • inputs – 节点的输入。

  • device – 运行的设备。

  • outputs_info – 一个包含每个输出元素类型和形状的元组列表。元组的第一个元素是数据类型,第二个元素是形状。更多用例可以在https://github.com/onnx/onnx/blob/main/onnx/backend/test/runner/__init__.py找到。

  • kwargs – 其他关键字参数。

classmethod supports_device(device: str) bool[source]

检查后端是否编译了特定设备的支持。 特别是在测试套件中使用。

后端代表

class onnx.backend.base.BackendRep[source]

BackendRep 是后端在准备重复执行模型后返回的句柄。用户随后将输入传递给 BackendRep 的 run 函数以检索相应的结果。

run(inputs: Any, **kwargs: Any) tuple[Any, ...][source]

抽象函数。

设备

class onnx.backend.base.Device(device: str)[来源]

描述设备类型和设备ID 语法: device_type:device_id(可选) 示例: ‘CPU’, ‘CUDA’, ‘CUDA:1’

设备类型

class onnx.backend.base.DeviceType[source]

描述设备类型。

加载模型测试

onnx.backend.test.loader.load_model_tests(data_dir: str = '/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/onnx/backend/test/data', kind: str | None = None) list[TestCase][source]

从磁盘数据文件加载模型测试用例。