package onnx

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message AttributeProto

onnx-ml.proto:113

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.

Used in: NodeProto

enum AttributeProto.AttributeType

onnx-ml.proto:117

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.

Used in: AttributeProto

message FunctionProto

onnx-operators-ml.proto:36

Used in: OperatorSetProto

message GraphProto

onnx-ml.proto:405

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.

Used in: AttributeProto, ModelProto, TrainingInfoProto

message ModelProto

onnx-ml.proto:324

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's.

message NodeProto

onnx-ml.proto:191

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.

Used in: FunctionProto, GraphProto

message OperatorProto

onnx-operators-ml.proto:87

An OperatorProto represents the immutable specification of the signature and semantics of an operator. Operators are declared as part of an OperatorSet, which also defines the domain name for the set. Operators are uniquely identified by a three part identifier (domain, op_type, since_version) where *domain* is the domain of an operator set that contains this operator specification. *op_type* is the name of the operator as referenced by a NodeProto.op_type *since_version* is the version of the operator set that this operator was initially declared in.

Used in: OperatorSetProto

message OperatorSetIdProto

onnx-ml.proto:688

Operator Sets OperatorSets are uniquely identified by a (domain, opset_version) pair.

Used in: ModelProto

message OperatorSetProto

onnx-operators-ml.proto:132

An OperatorSetProto represents an immutable set of immutable operator specifications. The domain of the set (OperatorSetProto.domain) is a reverse-DNS name that disambiguates operator sets defined by independent entities. The version of the set (opset_version) is a monotonically increasing integer that indicates changes to the membership of the operator set. Operator sets are uniquely identified by a two part identifier (domain, opset_version) Like ModelProto, OperatorSetProto is intended as a top-level file/wire format, and thus has the standard format headers in addition to the operator set information.

enum OperatorStatus

onnx-operators-ml.proto:31

Operator/function status.

Used in: FunctionProto, OperatorProto

message SparseTensorProto

onnx-ml.proto:590

A serialized sparse-tensor value

Used in: AttributeProto, GraphProto

message StringStringEntryProto

onnx-ml.proto:383

StringStringEntryProto follows the pattern for cross-proto-version maps. See https://developers.google.com/protocol-buffers/docs/proto3#maps

Used in: ModelProto, TensorAnnotation, TensorProto, TrainingInfoProto

message TensorAnnotation

onnx-ml.proto:388

Used in: GraphProto

message TensorProto

onnx-ml.proto:449

Tensors A serialized tensor value.

Used in: AttributeProto, GraphProto, SparseTensorProto

enum TensorProto.DataLocation

onnx-ml.proto:566

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.

Used in: TensorProto

enum TensorProto.DataType

onnx-ml.proto:450

message TensorProto.Segment

onnx-ml.proto:491

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.

Used in: TensorProto

message TensorShapeProto

onnx-ml.proto:614

Defines a tensor shape. A dimension can be either an integer value or a symbolic variable. A symbolic variable represents an unknown dimension.

Used in: TypeProto.Tensor

message TensorShapeProto.Dimension

onnx-ml.proto:615

Used in: TensorShapeProto

message TrainingInfoProto

onnx-ml.proto:230

Training information TrainingInfoProto stores information for training a model. In particular, this defines two functionalities: an initialization-step and a training-algorithm-step. Initialization resets the model back to its original state as if no training has been consumed. Training algorithm improves the model based on input data. The semantics of the initialization-step is that the initializers in ModelProto.graph and in TrainingInfoProto.algorithm are first initialized as specified by the initializers in the graph, and then updated by the "initialization_binding" in every instance in ModelProto.training_info. The field "algorithm" defines a computation graph which represents a training algorithm's step. After the execution of a TrainingInfoProto.algorithm, the initializers specified by "update_binding" may be immediately updated. If the targeted training algorithm contains consecutive update stages (such as block coordinate descent methods), the user needs to create a TrainingInfoProto for each stage.

Used in: ModelProto

message TypeProto

onnx-ml.proto:633

Types The standard ONNX data types.

Used in: TypeProto.Map, TypeProto.Sequence, ValueInfoProto

message TypeProto.Map

onnx-ml.proto:651

map<K,V>

Used in: TypeProto

message TypeProto.Sequence

onnx-ml.proto:644

repeated T

Used in: TypeProto

message TypeProto.Tensor

onnx-ml.proto:635

Used in: TypeProto

message ValueInfoProto

onnx-ml.proto:174

Defines information on value, including the name, the type, and the shape of the value.

Used in: GraphProto

enum Version

onnx-ml.proto:57

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.