package
0.2.0
Repository: https://github.com/gomlx/onnx-gomlx.git
Documentation: pkg.go.dev

# README

Protobuf Generated Files

All files in this directory are generated using onnx-gomlx/internal/cmd/protoc_onnx_protos tool, except the protos.go file, which includes the one //go:generate go run ../cmd/protoc_onnx_protos line.

Notice there are two variants of ONNX protos: onnx.proto and onnx-ml.proto, and one can't include both, since they redefine each other. Why would they do that :sad: !? (and not document it in the proto files ...)

Anyway, this project takes the onnx-ml.proto, because according to the IR mention it seems to be more complete, even though onnx-gomlx not necessarily supports all its operations.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Non-IEEE floating-point format based on IEEE754 single-precision floating-point number truncated to 16 bits.
bool.
complex with float64 real and imaginary components.
complex with float32 real and imaginary components.
No description provided by the author
No description provided by the author
No description provided by the author
float.
IEEE754 half-precision floating-point format (16 bits wide).
4-bit floating point data types.
float 8, mostly used for coefficients, supports nan, not inf.
float 8, mostly used for coefficients, supports nan, not inf, no negative zero.
follows IEEE 754, supports nan, inf, mostly used for gradients.
follows IEEE 754, supports nan, not inf, mostly used for gradients, no negative zero.
int16_t.
int32_t.
Signed integer in range [-8, 7], using two's-complement representation.
int64_t.
int8_t.
string.
uint16_t.
No description provided by the author
Unsigned integer in range [0, 15].
No description provided by the author
uint8_t.
No description provided by the author
proto3 requires the first enum value to be zero.
IR VERSION 11 published on TBD Added FLOAT4E2M1.
The version field is always serialized and we will use it to store the version that the graph is generated from.
IR_VERSION 2 published on Oct 30, 2017 - Added type discriminator to AttributeProto to support proto3 users.
IR VERSION 3 published on Nov 3, 2017 - For operator versioning: - Added new message OperatorSetIdProto - Added opset_import in ModelProto - For vendor extensions, added domain in NodeProto.
IR VERSION 4 published on Jan 22, 2019 - Relax constraint that initializers should be a subset of graph inputs - Add type BFLOAT16.
IR VERSION 5 published on March 18, 2019 - Add message TensorAnnotation.
IR VERSION 6 published on Sep 19, 2019 - Add support for sparse tensor constants stored in model.
IR VERSION 7 published on May 8, 2020 - Add support to allow function body graph to rely on multiple external opreator sets.
IR VERSION 8 published on July 30, 2021 Introduce TypeProto.SparseTensor Introduce TypeProto.Optional Added a list of FunctionProtos local to the model Deprecated since_version and operator status from FunctionProto.
IR VERSION 9 published on May 5, 2023 Added AttributeProto to FunctionProto so that default attribute values can be set.
IR VERSION 10 published on March 25, 2024 Added UINT4, INT4.

# Variables

Enum value maps for AttributeProto_AttributeType.
Enum value maps for AttributeProto_AttributeType.
No description provided by the author
No description provided by the author
No description provided by the author
Enum value maps for OperatorStatus.
Enum value maps for OperatorStatus.
Enum value maps for OptionalProto_DataType.
Enum value maps for OptionalProto_DataType.
Enum value maps for SequenceProto_DataType.
Enum value maps for SequenceProto_DataType.
Enum value maps for TensorProto_DataLocation.
Enum value maps for TensorProto_DataLocation.
Enum value maps for TensorProto_DataType.
Enum value maps for TensorProto_DataType.
Enum value maps for Version.
Enum value maps for Version.

# Structs

Attributes A named attribute containing either singular float, integer, string, graph, and tensor values, or repeated float, integer, string, graph, and tensor values.
No description provided by the author
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.
Maps Specifies an associative table, defined by keys and values.
Models ModelProto is a top-level file/container format for bundling a ML model and associating its computation graph with metadata.
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.
An OperatorProto represents the immutable specification of the signature and semantics of an operator.
Operator Sets OperatorSets are uniquely identified by a (domain, opset_version) pair.
An OperatorSetProto represents an immutable set of immutable operator specifications.
Optional.
Sequences Defines a dense, ordered, collection of elements that are of homogeneous types.
A serialized sparse-tensor value.
StringStringEntryProto follows the pattern for cross-proto-version maps.
No description provided by the author
Tensors A serialized tensor value.
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.
Defines a tensor shape.
No description provided by the author
No description provided by the author
No description provided by the author
Training information TrainingInfoProto stores information for training a model.
Types The standard ONNX data types.
map<K,V>.
No description provided by the author
No description provided by the author
No description provided by the author
wrapper for Tensor, Sequence, or Map.
No description provided by the author
repeated T.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Defines information on value, including the name, the type, and the shape of the value.

# Type aliases

Note: this enum is structurally identical to the OpSchema::AttrType enum defined in schema.h.
Operator/function status.
No description provided by the author
No description provided by the author
Location of the data for this tensor.
No description provided by the author
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.