Namespace Onnx
Classes
AttributeProto
Attributes
A named attribute containing either singular float, integer, string, graph, and tensor values, or repeated float, integer, string, graph, and tensor values. An AttributeProto MUST contain the name field, and only one of the following content fields, effectively enforcing a C/C++ union equivalent.
AttributeProto.Types
Container for nested types declared in the AttributeProto message type.
GraphProto
Graphs
A graph defines the computational logic of a model and is comprised of a parameterized list of nodes that form a directed acyclic graph based on their inputs and outputs. This is the equivalent of the "network" or "graph" in many deep learning frameworks.
ModelProto
Models
ModelProto is a top-level file/container format for bundling a ML model and associating its computation graph with metadata.
The semantics of the model are described by the associated GraphProto.
NodeProto
Nodes
Computation graphs are made up of a DAG of nodes, which represent what is commonly called a "layer" or "pipeline stage" in machine learning frameworks.
For example, it can be a node of type "Conv" that takes in an image, a filter tensor and a bias tensor, and produces the convolved output.
OnnxReflection
Holder for reflection information generated from onnx.proto3
OperatorSetIdProto
Operator Sets
OperatorSets are uniquely identified by a (domain, opset_version) pair.
SparseTensorProto
A serialized sparse-tensor value
StringStringEntryProto
StringStringEntryProto follows the pattern for cross-proto-version maps. See https://developers.google.com/protocol-buffers/docs/proto3#maps
TensorAnnotation
TensorProto
Tensors
A serialized tensor value.
TensorProto.Types
Container for nested types declared in the TensorProto message type.
TensorProto.Types.Segment
For very large tensors, we may want to store them in chunks, in which case the following fields will specify the segment that is stored in the current TensorProto.
TensorShapeProto
Defines a tensor shape. A dimension can be either an integer value or a symbolic variable. A symbolic variable represents an unknown dimension.
TensorShapeProto.Types
Container for nested types declared in the TensorShapeProto message type.
TensorShapeProto.Types.Dimension
TypeProto
Types
The standard ONNX data types.
TypeProto.Types
Container for nested types declared in the TypeProto message type.
TypeProto.Types.SparseTensor
TypeProto.Types.Tensor
ValueInfoProto
Defines information on value, including the name, the type, and the shape of the value.
Enums
AttributeProto.Types.AttributeType
Note: this enum is structurally identical to the OpSchema::AttrType enum defined in schema.h. If you rev one, you likely need to rev the other.
TensorProto.Types.DataLocation
Location of the data for this tensor. MUST be one of:
- DEFAULT - data stored inside the protobuf message. Data is stored in raw_data (if set) otherwise in type-specified field.
- EXTERNAL - data stored in an external location as described by external_data field.
TensorProto.Types.DataType
TensorShapeProto.Types.Dimension.ValueOneofCase
Enum of possible cases for the "value" oneof.
TypeProto.ValueOneofCase
Enum of possible cases for the "value" oneof.
Version
Versioning
ONNX versioning is specified in docs/IR.md and elaborated on in docs/Versioning.md
To be compatible with both proto2 and proto3, we will use a version number that is not defined by the default value but an explicit enum number.