ONNX Format Guide
开放神经网络交换格式,用于跨平台推理
Model WeightsSpecification
ONNX(Open Neural Network Exchange,开放神经网络交换)是一种用于表示机器学习模型的开放标准格式。该格式最初由 Microsoft 和 Facebook 于 2017 年联合开发,现由 Linux Foundation 管理。ONNX 定义了一组通用的算子、数据类型和计算图格式,使在一个框架中训练的模型能够在另一个框架中部署。该格式使用 Protocol Buffers(protobuf)进行序列化,支持包括卷积神经网络、循环网络、Transformer 和经典机器学习模型在内的广泛模型架构。
ONNX 模型表示为有向无环图(DAG),其中节点代表运算操作(卷积、矩阵乘法、激活函数等),边代表在操作之间流动的张量,图具有定义的输入和输出。ONNX 算子集(opset)采用版本管理,允许模型指定所需的算子定义版本。截至 opset 21,ONNX 定义了超过 200 个算子,涵盖神经网络运算、数学函数、张量操作和控制流。