API 參考¶
版本控制¶
以下範例顯示如何擷取 ONNX 版本、ONNX 運算集 (opset) 和 IR 版本。每個新的主要版本都會遞增運算集版本(請參閱運算集版本)。
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 版本。
當新增、移除或修改運算子時,運算集版本會增加。較高的運算集表示更長的運算子清單,以及更多實作 ONNX 函數的選項。通常會修改運算子,因為它支援更多輸入和輸出類型,或屬性變成輸入。
資料結構¶
每個 ONNX 物件都是根據 protobuf 訊息定義,並具有以 Proto
後綴結尾的名稱。例如,NodeProto定義運算子,TensorProto定義張量。下一頁列出所有這些物件。
函數¶
ONNX 模型可以直接從上一節描述的類別建立,但使用以下輔助程式建立和驗證模型會更快。