API 参考¶
版本控制¶
以下示例展示了如何检索 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.18.0', opset=23, IR_VERSION=11
中间表示 (IR) 规范是图和运算符的抽象模型,以及表示它们的具体格式。添加结构,修改其中一个结构都会增加 IR 版本。
当添加、删除或修改运算符时,opset 版本会增加。更高的 opset 表示更长的运算符列表以及更多用于实现 ONNX 函数的选择。通常修改运算符是因为它支持更多输入和输出类型,或者属性变为输入。
数据结构¶
每个 ONNX 对象都是基于 protobuf 消息 定义的,并且以后缀 Proto
结尾。例如,NodeProto 定义了一个运算符,TensorProto 定义了一个张量。下一页列出了所有这些。
函数¶
可以使用前面部分中描述的类直接创建一个 ONNX 模型,但使用以下辅助程序创建和验证模型的速度更快。