API 参考¶
提示
ir-py 项目提供了另外的 Pythonic API,用于创建和操作 ONNX 模型,无需与 Protobuf 交互。
版本控制¶
以下示例展示了如何检索 onnx 版本、onnx opset、IR 版本。每个新的主要版本都会增加 opset 版本(参见Opset 版本)。
from onnx import __version__, IR_VERSION
from onnx.defs import onnx_opset_version
print(f"onnx.__version__={__version__!r}, opset={onnx_opset_version()}, IR_VERSION={IR_VERSION}")
onnx.__version__='1.21.0', opset=26, IR_VERSION=13
中间表示 (IR) 规范是图形和运算符的抽象模型以及表示它们的具体格式。添加结构或修改其中之一都会增加 IR 版本。
当运算符被添加、删除或修改时,opset 版本会增加。更高的 opset 意味着更长的运算符列表和更多实现 ONNX 函数的选项。运算符通常会因为支持更多输入和输出类型,或者属性变为输入而进行修改。
数据结构¶
每个 ONNX 对象都基于 protobuf 消息定义,并且名称以后缀 Proto 结尾。例如,NodeProto 定义一个运算符,TensorProto 定义一个张量。下一页列出了所有这些。
函数¶
ONNX 模型可以直接从上一节描述的类中创建,但使用以下帮助程序创建和验证模型会更快。