4413 lines
161 KiB
C#
4413 lines
161 KiB
C#
// <auto-generated>
|
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
// source: onnx.proto3
|
|
// </auto-generated>
|
|
#pragma warning disable 1591, 0612, 3021
|
|
#region Designer generated code
|
|
|
|
using pb = global::Google.Protobuf;
|
|
using pbc = global::Google.Protobuf.Collections;
|
|
using pbr = global::Google.Protobuf.Reflection;
|
|
using scg = global::System.Collections.Generic;
|
|
namespace Onnx {
|
|
|
|
/// <summary>Holder for reflection information generated from onnx.proto3</summary>
|
|
internal static partial class OnnxReflection {
|
|
|
|
#region Descriptor
|
|
/// <summary>File descriptor for onnx.proto3</summary>
|
|
public static pbr::FileDescriptor Descriptor {
|
|
get { return descriptor; }
|
|
}
|
|
private static pbr::FileDescriptor descriptor;
|
|
|
|
static OnnxReflection() {
|
|
byte[] descriptorData = global::System.Convert.FromBase64String(
|
|
string.Concat(
|
|
"Cgtvbm54LnByb3RvMxIEb25ueCLoBAoOQXR0cmlidXRlUHJvdG8SDAoEbmFt",
|
|
"ZRgBIAEoCRIVCg1yZWZfYXR0cl9uYW1lGBUgASgJEhIKCmRvY19zdHJpbmcY",
|
|
"DSABKAkSMAoEdHlwZRgUIAEoDjIiLm9ubnguQXR0cmlidXRlUHJvdG8uQXR0",
|
|
"cmlidXRlVHlwZRIJCgFmGAIgASgCEgkKAWkYAyABKAMSCQoBcxgEIAEoDBIc",
|
|
"CgF0GAUgASgLMhEub25ueC5UZW5zb3JQcm90bxIbCgFnGAYgASgLMhAub25u",
|
|
"eC5HcmFwaFByb3RvEi4KDXNwYXJzZV90ZW5zb3IYFiABKAsyFy5vbm54LlNw",
|
|
"YXJzZVRlbnNvclByb3RvEg4KBmZsb2F0cxgHIAMoAhIMCgRpbnRzGAggAygD",
|
|
"Eg8KB3N0cmluZ3MYCSADKAwSIgoHdGVuc29ycxgKIAMoCzIRLm9ubnguVGVu",
|
|
"c29yUHJvdG8SIAoGZ3JhcGhzGAsgAygLMhAub25ueC5HcmFwaFByb3RvEi8K",
|
|
"DnNwYXJzZV90ZW5zb3JzGBcgAygLMhcub25ueC5TcGFyc2VUZW5zb3JQcm90",
|
|
"byK4AQoNQXR0cmlidXRlVHlwZRINCglVTkRFRklORUQQABIJCgVGTE9BVBAB",
|
|
"EgcKA0lOVBACEgoKBlNUUklORxADEgoKBlRFTlNPUhAEEgkKBUdSQVBIEAUS",
|
|
"EQoNU1BBUlNFX1RFTlNPUhALEgoKBkZMT0FUUxAGEggKBElOVFMQBxILCgdT",
|
|
"VFJJTkdTEAgSCwoHVEVOU09SUxAJEgoKBkdSQVBIUxAKEhIKDlNQQVJTRV9U",
|
|
"RU5TT1JTEAwiUQoOVmFsdWVJbmZvUHJvdG8SDAoEbmFtZRgBIAEoCRIdCgR0",
|
|
"eXBlGAIgASgLMg8ub25ueC5UeXBlUHJvdG8SEgoKZG9jX3N0cmluZxgDIAEo",
|
|
"CSKWAQoJTm9kZVByb3RvEg0KBWlucHV0GAEgAygJEg4KBm91dHB1dBgCIAMo",
|
|
"CRIMCgRuYW1lGAMgASgJEg8KB29wX3R5cGUYBCABKAkSDgoGZG9tYWluGAcg",
|
|
"ASgJEicKCWF0dHJpYnV0ZRgFIAMoCzIULm9ubnguQXR0cmlidXRlUHJvdG8S",
|
|
"EgoKZG9jX3N0cmluZxgGIAEoCSKTAgoKTW9kZWxQcm90bxISCgppcl92ZXJz",
|
|
"aW9uGAEgASgDEi4KDG9wc2V0X2ltcG9ydBgIIAMoCzIYLm9ubnguT3BlcmF0",
|
|
"b3JTZXRJZFByb3RvEhUKDXByb2R1Y2VyX25hbWUYAiABKAkSGAoQcHJvZHVj",
|
|
"ZXJfdmVyc2lvbhgDIAEoCRIOCgZkb21haW4YBCABKAkSFQoNbW9kZWxfdmVy",
|
|
"c2lvbhgFIAEoAxISCgpkb2Nfc3RyaW5nGAYgASgJEh8KBWdyYXBoGAcgASgL",
|
|
"MhAub25ueC5HcmFwaFByb3RvEjQKDm1ldGFkYXRhX3Byb3BzGA4gAygLMhwu",
|
|
"b25ueC5TdHJpbmdTdHJpbmdFbnRyeVByb3RvIjQKFlN0cmluZ1N0cmluZ0Vu",
|
|
"dHJ5UHJvdG8SCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJImsKEFRlbnNv",
|
|
"ckFubm90YXRpb24SEwoLdGVuc29yX25hbWUYASABKAkSQgoccXVhbnRfcGFy",
|
|
"YW1ldGVyX3RlbnNvcl9uYW1lcxgCIAMoCzIcLm9ubnguU3RyaW5nU3RyaW5n",
|
|
"RW50cnlQcm90byLYAgoKR3JhcGhQcm90bxIdCgRub2RlGAEgAygLMg8ub25u",
|
|
"eC5Ob2RlUHJvdG8SDAoEbmFtZRgCIAEoCRImCgtpbml0aWFsaXplchgFIAMo",
|
|
"CzIRLm9ubnguVGVuc29yUHJvdG8SMwoSc3BhcnNlX2luaXRpYWxpemVyGA8g",
|
|
"AygLMhcub25ueC5TcGFyc2VUZW5zb3JQcm90bxISCgpkb2Nfc3RyaW5nGAog",
|
|
"ASgJEiMKBWlucHV0GAsgAygLMhQub25ueC5WYWx1ZUluZm9Qcm90bxIkCgZv",
|
|
"dXRwdXQYDCADKAsyFC5vbm54LlZhbHVlSW5mb1Byb3RvEigKCnZhbHVlX2lu",
|
|
"Zm8YDSADKAsyFC5vbm54LlZhbHVlSW5mb1Byb3RvEjcKF3F1YW50aXphdGlv",
|
|
"bl9hbm5vdGF0aW9uGA4gAygLMhYub25ueC5UZW5zb3JBbm5vdGF0aW9uIrgF",
|
|
"CgtUZW5zb3JQcm90bxIMCgRkaW1zGAEgAygDEhEKCWRhdGFfdHlwZRgCIAEo",
|
|
"BRIqCgdzZWdtZW50GAMgASgLMhkub25ueC5UZW5zb3JQcm90by5TZWdtZW50",
|
|
"EhYKCmZsb2F0X2RhdGEYBCADKAJCAhABEhYKCmludDMyX2RhdGEYBSADKAVC",
|
|
"AhABEhMKC3N0cmluZ19kYXRhGAYgAygMEhYKCmludDY0X2RhdGEYByADKANC",
|
|
"AhABEgwKBG5hbWUYCCABKAkSEgoKZG9jX3N0cmluZxgMIAEoCRIQCghyYXdf",
|
|
"ZGF0YRgJIAEoDBIzCg1leHRlcm5hbF9kYXRhGA0gAygLMhwub25ueC5TdHJp",
|
|
"bmdTdHJpbmdFbnRyeVByb3RvEjUKDWRhdGFfbG9jYXRpb24YDiABKA4yHi5v",
|
|
"bm54LlRlbnNvclByb3RvLkRhdGFMb2NhdGlvbhIXCgtkb3VibGVfZGF0YRgK",
|
|
"IAMoAUICEAESFwoLdWludDY0X2RhdGEYCyADKARCAhABGiUKB1NlZ21lbnQS",
|
|
"DQoFYmVnaW4YASABKAMSCwoDZW5kGAIgASgDItoBCghEYXRhVHlwZRINCglV",
|
|
"TkRFRklORUQQABIJCgVGTE9BVBABEgkKBVVJTlQ4EAISCAoESU5UOBADEgoK",
|
|
"BlVJTlQxNhAEEgkKBUlOVDE2EAUSCQoFSU5UMzIQBhIJCgVJTlQ2NBAHEgoK",
|
|
"BlNUUklORxAIEggKBEJPT0wQCRILCgdGTE9BVDE2EAoSCgoGRE9VQkxFEAsS",
|
|
"CgoGVUlOVDMyEAwSCgoGVUlOVDY0EA0SDQoJQ09NUExFWDY0EA4SDgoKQ09N",
|
|
"UExFWDEyOBAPEgwKCEJGTE9BVDE2EBAiKQoMRGF0YUxvY2F0aW9uEgsKB0RF",
|
|
"RkFVTFQQABIMCghFWFRFUk5BTBABImgKEVNwYXJzZVRlbnNvclByb3RvEiEK",
|
|
"BnZhbHVlcxgBIAEoCzIRLm9ubnguVGVuc29yUHJvdG8SIgoHaW5kaWNlcxgC",
|
|
"IAEoCzIRLm9ubnguVGVuc29yUHJvdG8SDAoEZGltcxgDIAMoAyKVAQoQVGVu",
|
|
"c29yU2hhcGVQcm90bxItCgNkaW0YASADKAsyIC5vbm54LlRlbnNvclNoYXBl",
|
|
"UHJvdG8uRGltZW5zaW9uGlIKCURpbWVuc2lvbhITCglkaW1fdmFsdWUYASAB",
|
|
"KANIABITCglkaW1fcGFyYW0YAiABKAlIABISCgpkZW5vdGF0aW9uGAMgASgJ",
|
|
"QgcKBXZhbHVlIuUBCglUeXBlUHJvdG8SLQoLdGVuc29yX3R5cGUYASABKAsy",
|
|
"Fi5vbm54LlR5cGVQcm90by5UZW5zb3JIABISCgpkZW5vdGF0aW9uGAYgASgJ",
|
|
"GkIKBlRlbnNvchIRCgllbGVtX3R5cGUYASABKAUSJQoFc2hhcGUYAiABKAsy",
|
|
"Fi5vbm54LlRlbnNvclNoYXBlUHJvdG8aSAoMU3BhcnNlVGVuc29yEhEKCWVs",
|
|
"ZW1fdHlwZRgBIAEoBRIlCgVzaGFwZRgCIAEoCzIWLm9ubnguVGVuc29yU2hh",
|
|
"cGVQcm90b0IHCgV2YWx1ZSI1ChJPcGVyYXRvclNldElkUHJvdG8SDgoGZG9t",
|
|
"YWluGAEgASgJEg8KB3ZlcnNpb24YAiABKAMqsQEKB1ZlcnNpb24SEgoOX1NU",
|
|
"QVJUX1ZFUlNJT04QABIZChVJUl9WRVJTSU9OXzIwMTdfMTBfMTAQARIZChVJ",
|
|
"Ul9WRVJTSU9OXzIwMTdfMTBfMzAQAhIYChRJUl9WRVJTSU9OXzIwMTdfMTFf",
|
|
"MxADEhgKFElSX1ZFUlNJT05fMjAxOV8xXzIyEAQSGAoUSVJfVkVSU0lPTl8y",
|
|
"MDE5XzNfMTgQBRIOCgpJUl9WRVJTSU9OEAZiBnByb3RvMw=="));
|
|
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
|
new pbr::FileDescriptor[] { },
|
|
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Onnx.Version), }, new pbr::GeneratedClrTypeInfo[] {
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.AttributeProto), global::Onnx.AttributeProto.Parser, new[]{ "Name", "RefAttrName", "DocString", "Type", "F", "I", "S", "T", "G", "SparseTensor", "Floats", "Ints", "Strings", "Tensors", "Graphs", "SparseTensors" }, null, new[]{ typeof(global::Onnx.AttributeProto.Types.AttributeType) }, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.ValueInfoProto), global::Onnx.ValueInfoProto.Parser, new[]{ "Name", "Type", "DocString" }, null, null, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.NodeProto), global::Onnx.NodeProto.Parser, new[]{ "Input", "Output", "Name", "OpType", "Domain", "Attribute", "DocString" }, null, null, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.ModelProto), global::Onnx.ModelProto.Parser, new[]{ "IrVersion", "OpsetImport", "ProducerName", "ProducerVersion", "Domain", "ModelVersion", "DocString", "Graph", "MetadataProps" }, null, null, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.StringStringEntryProto), global::Onnx.StringStringEntryProto.Parser, new[]{ "Key", "Value" }, null, null, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.TensorAnnotation), global::Onnx.TensorAnnotation.Parser, new[]{ "TensorName", "QuantParameterTensorNames" }, null, null, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.GraphProto), global::Onnx.GraphProto.Parser, new[]{ "Node", "Name", "Initializer", "SparseInitializer", "DocString", "Input", "Output", "ValueInfo", "QuantizationAnnotation" }, null, null, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.TensorProto), global::Onnx.TensorProto.Parser, new[]{ "Dims", "DataType", "Segment", "FloatData", "Int32Data", "StringData", "Int64Data", "Name", "DocString", "RawData", "ExternalData", "DataLocation", "DoubleData", "Uint64Data" }, null, new[]{ typeof(global::Onnx.TensorProto.Types.DataType), typeof(global::Onnx.TensorProto.Types.DataLocation) }, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.TensorProto.Types.Segment), global::Onnx.TensorProto.Types.Segment.Parser, new[]{ "Begin", "End" }, null, null, null)}),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.SparseTensorProto), global::Onnx.SparseTensorProto.Parser, new[]{ "Values", "Indices", "Dims" }, null, null, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.TensorShapeProto), global::Onnx.TensorShapeProto.Parser, new[]{ "Dim" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.TensorShapeProto.Types.Dimension), global::Onnx.TensorShapeProto.Types.Dimension.Parser, new[]{ "DimValue", "DimParam", "Denotation" }, new[]{ "Value" }, null, null)}),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.TypeProto), global::Onnx.TypeProto.Parser, new[]{ "TensorType", "Denotation" }, new[]{ "Value" }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.TypeProto.Types.Tensor), global::Onnx.TypeProto.Types.Tensor.Parser, new[]{ "ElemType", "Shape" }, null, null, null),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.TypeProto.Types.SparseTensor), global::Onnx.TypeProto.Types.SparseTensor.Parser, new[]{ "ElemType", "Shape" }, null, null, null)}),
|
|
new pbr::GeneratedClrTypeInfo(typeof(global::Onnx.OperatorSetIdProto), global::Onnx.OperatorSetIdProto.Parser, new[]{ "Domain", "Version" }, null, null, null)
|
|
}));
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
#region Enums
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
internal enum Version {
|
|
/// <summary>
|
|
/// proto3 requires the first enum value to be zero.
|
|
/// We add this just to appease the compiler.
|
|
/// </summary>
|
|
[pbr::OriginalName("_START_VERSION")] StartVersion = 0,
|
|
/// <summary>
|
|
/// The version field is always serialized and we will use it to store the
|
|
/// version that the graph is generated from. This helps us set up version
|
|
/// control.
|
|
/// For the IR, we are using simple numbers starting with with 0x00000001,
|
|
/// which was the version we published on Oct 10, 2017.
|
|
/// </summary>
|
|
[pbr::OriginalName("IR_VERSION_2017_10_10")] IrVersion20171010 = 1,
|
|
/// <summary>
|
|
/// IR_VERSION 2 published on Oct 30, 2017
|
|
/// - Added type discriminator to AttributeProto to support proto3 users
|
|
/// </summary>
|
|
[pbr::OriginalName("IR_VERSION_2017_10_30")] IrVersion20171030 = 2,
|
|
/// <summary>
|
|
/// 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
|
|
/// </summary>
|
|
[pbr::OriginalName("IR_VERSION_2017_11_3")] IrVersion2017113 = 3,
|
|
/// <summary>
|
|
/// IR VERSION 4 published on Jan 22, 2019
|
|
/// - Relax constraint that initializers should be a subset of graph inputs
|
|
/// - Add type BFLOAT16
|
|
/// </summary>
|
|
[pbr::OriginalName("IR_VERSION_2019_1_22")] IrVersion2019122 = 4,
|
|
/// <summary>
|
|
/// IR VERSION 5 published on March 18, 2019
|
|
/// - Add message TensorAnnotation.
|
|
/// - Add quantization annotation in GraphProto to map tensor with its scale and zero point quantization parameters.
|
|
/// </summary>
|
|
[pbr::OriginalName("IR_VERSION_2019_3_18")] IrVersion2019318 = 5,
|
|
/// <summary>
|
|
/// IR VERSION 6 published on <TBD>
|
|
/// - Add support for sparse tensor constants stored in model.
|
|
/// - Add message SparseTensorProto
|
|
/// - Add sparse initializers
|
|
/// </summary>
|
|
[pbr::OriginalName("IR_VERSION")] IrVersion = 6,
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Messages
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
internal sealed partial class AttributeProto : pb::IMessage<AttributeProto> {
|
|
private static readonly pb::MessageParser<AttributeProto> _parser = new pb::MessageParser<AttributeProto>(() => new AttributeProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<AttributeProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[0]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public AttributeProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public AttributeProto(AttributeProto other) : this() {
|
|
name_ = other.name_;
|
|
refAttrName_ = other.refAttrName_;
|
|
docString_ = other.docString_;
|
|
type_ = other.type_;
|
|
f_ = other.f_;
|
|
i_ = other.i_;
|
|
s_ = other.s_;
|
|
T = other.t_ != null ? other.T.Clone() : null;
|
|
G = other.g_ != null ? other.G.Clone() : null;
|
|
SparseTensor = other.sparseTensor_ != null ? other.SparseTensor.Clone() : null;
|
|
floats_ = other.floats_.Clone();
|
|
ints_ = other.ints_.Clone();
|
|
strings_ = other.strings_.Clone();
|
|
tensors_ = other.tensors_.Clone();
|
|
graphs_ = other.graphs_.Clone();
|
|
sparseTensors_ = other.sparseTensors_.Clone();
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public AttributeProto Clone() {
|
|
return new AttributeProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "name" field.</summary>
|
|
public const int NameFieldNumber = 1;
|
|
private string name_ = "";
|
|
/// <summary>
|
|
/// The name field MUST be present for this version of the IR.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Name {
|
|
get { return name_; }
|
|
set {
|
|
name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "ref_attr_name" field.</summary>
|
|
public const int RefAttrNameFieldNumber = 21;
|
|
private string refAttrName_ = "";
|
|
/// <summary>
|
|
/// if ref_attr_name is not empty, ref_attr_name is the attribute name in parent function.
|
|
/// In this case, this AttributeProto does not contain data, and it's a reference of attribute
|
|
/// in parent scope.
|
|
/// NOTE: This should ONLY be used in function (sub-graph). It's invalid to be used in main graph.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string RefAttrName {
|
|
get { return refAttrName_; }
|
|
set {
|
|
refAttrName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "doc_string" field.</summary>
|
|
public const int DocStringFieldNumber = 13;
|
|
private string docString_ = "";
|
|
/// <summary>
|
|
/// A human-readable documentation for this attribute. Markdown is allowed.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string DocString {
|
|
get { return docString_; }
|
|
set {
|
|
docString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "type" field.</summary>
|
|
public const int TypeFieldNumber = 20;
|
|
private global::Onnx.AttributeProto.Types.AttributeType type_ = 0;
|
|
/// <summary>
|
|
/// The type field MUST be present for this version of the IR.
|
|
/// For 0.0.1 versions of the IR, this field was not defined, and
|
|
/// implementations needed to use has_field hueristics to determine
|
|
/// which value field was in use. For IR_VERSION 0.0.2 or later, this
|
|
/// field MUST be set and match the f|i|s|t|... field in use. This
|
|
/// change was made to accomodate proto3 implementations.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.AttributeProto.Types.AttributeType Type {
|
|
get { return type_; }
|
|
set {
|
|
type_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "f" field.</summary>
|
|
public const int FFieldNumber = 2;
|
|
private float f_;
|
|
/// <summary>
|
|
/// Exactly ONE of the following fields must be present for this version of the IR
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public float F {
|
|
get { return f_; }
|
|
set {
|
|
f_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "i" field.</summary>
|
|
public const int IFieldNumber = 3;
|
|
private long i_;
|
|
/// <summary>
|
|
/// int
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public long I {
|
|
get { return i_; }
|
|
set {
|
|
i_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "s" field.</summary>
|
|
public const int SFieldNumber = 4;
|
|
private pb::ByteString s_ = pb::ByteString.Empty;
|
|
/// <summary>
|
|
/// UTF-8 string
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pb::ByteString S {
|
|
get { return s_; }
|
|
set {
|
|
s_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "t" field.</summary>
|
|
public const int TFieldNumber = 5;
|
|
private global::Onnx.TensorProto t_;
|
|
/// <summary>
|
|
/// tensor value
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TensorProto T {
|
|
get { return t_; }
|
|
set {
|
|
t_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "g" field.</summary>
|
|
public const int GFieldNumber = 6;
|
|
private global::Onnx.GraphProto g_;
|
|
/// <summary>
|
|
/// graph
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.GraphProto G {
|
|
get { return g_; }
|
|
set {
|
|
g_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "sparse_tensor" field.</summary>
|
|
public const int SparseTensorFieldNumber = 22;
|
|
private global::Onnx.SparseTensorProto sparseTensor_;
|
|
/// <summary>
|
|
/// sparse tensor value
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.SparseTensorProto SparseTensor {
|
|
get { return sparseTensor_; }
|
|
set {
|
|
sparseTensor_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "floats" field.</summary>
|
|
public const int FloatsFieldNumber = 7;
|
|
private static readonly pb::FieldCodec<float> _repeated_floats_codec
|
|
= pb::FieldCodec.ForFloat(58);
|
|
private readonly pbc::RepeatedField<float> floats_ = new pbc::RepeatedField<float>();
|
|
/// <summary>
|
|
/// list of floats
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<float> Floats {
|
|
get { return floats_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "ints" field.</summary>
|
|
public const int IntsFieldNumber = 8;
|
|
private static readonly pb::FieldCodec<long> _repeated_ints_codec
|
|
= pb::FieldCodec.ForInt64(66);
|
|
private readonly pbc::RepeatedField<long> ints_ = new pbc::RepeatedField<long>();
|
|
/// <summary>
|
|
/// list of ints
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<long> Ints {
|
|
get { return ints_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "strings" field.</summary>
|
|
public const int StringsFieldNumber = 9;
|
|
private static readonly pb::FieldCodec<pb::ByteString> _repeated_strings_codec
|
|
= pb::FieldCodec.ForBytes(74);
|
|
private readonly pbc::RepeatedField<pb::ByteString> strings_ = new pbc::RepeatedField<pb::ByteString>();
|
|
/// <summary>
|
|
/// list of UTF-8 strings
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<pb::ByteString> Strings {
|
|
get { return strings_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "tensors" field.</summary>
|
|
public const int TensorsFieldNumber = 10;
|
|
private static readonly pb::FieldCodec<global::Onnx.TensorProto> _repeated_tensors_codec
|
|
= pb::FieldCodec.ForMessage(82, global::Onnx.TensorProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.TensorProto> tensors_ = new pbc::RepeatedField<global::Onnx.TensorProto>();
|
|
/// <summary>
|
|
/// list of tensors
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.TensorProto> Tensors {
|
|
get { return tensors_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "graphs" field.</summary>
|
|
public const int GraphsFieldNumber = 11;
|
|
private static readonly pb::FieldCodec<global::Onnx.GraphProto> _repeated_graphs_codec
|
|
= pb::FieldCodec.ForMessage(90, global::Onnx.GraphProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.GraphProto> graphs_ = new pbc::RepeatedField<global::Onnx.GraphProto>();
|
|
/// <summary>
|
|
/// list of graph
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.GraphProto> Graphs {
|
|
get { return graphs_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "sparse_tensors" field.</summary>
|
|
public const int SparseTensorsFieldNumber = 23;
|
|
private static readonly pb::FieldCodec<global::Onnx.SparseTensorProto> _repeated_sparseTensors_codec
|
|
= pb::FieldCodec.ForMessage(186, global::Onnx.SparseTensorProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.SparseTensorProto> sparseTensors_ = new pbc::RepeatedField<global::Onnx.SparseTensorProto>();
|
|
/// <summary>
|
|
/// list of sparse tensors
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.SparseTensorProto> SparseTensors {
|
|
get { return sparseTensors_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as AttributeProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(AttributeProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (Name != other.Name) return false;
|
|
if (RefAttrName != other.RefAttrName) return false;
|
|
if (DocString != other.DocString) return false;
|
|
if (Type != other.Type) return false;
|
|
if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(F, other.F)) return false;
|
|
if (I != other.I) return false;
|
|
if (S != other.S) return false;
|
|
if (!object.Equals(T, other.T)) return false;
|
|
if (!object.Equals(G, other.G)) return false;
|
|
if (!object.Equals(SparseTensor, other.SparseTensor)) return false;
|
|
if(!floats_.Equals(other.floats_)) return false;
|
|
if(!ints_.Equals(other.ints_)) return false;
|
|
if(!strings_.Equals(other.strings_)) return false;
|
|
if(!tensors_.Equals(other.tensors_)) return false;
|
|
if(!graphs_.Equals(other.graphs_)) return false;
|
|
if(!sparseTensors_.Equals(other.sparseTensors_)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (Name.Length != 0) hash ^= Name.GetHashCode();
|
|
if (RefAttrName.Length != 0) hash ^= RefAttrName.GetHashCode();
|
|
if (DocString.Length != 0) hash ^= DocString.GetHashCode();
|
|
if (Type != 0) hash ^= Type.GetHashCode();
|
|
if (F != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(F);
|
|
if (I != 0L) hash ^= I.GetHashCode();
|
|
if (S.Length != 0) hash ^= S.GetHashCode();
|
|
if (t_ != null) hash ^= T.GetHashCode();
|
|
if (g_ != null) hash ^= G.GetHashCode();
|
|
if (sparseTensor_ != null) hash ^= SparseTensor.GetHashCode();
|
|
hash ^= floats_.GetHashCode();
|
|
hash ^= ints_.GetHashCode();
|
|
hash ^= strings_.GetHashCode();
|
|
hash ^= tensors_.GetHashCode();
|
|
hash ^= graphs_.GetHashCode();
|
|
hash ^= sparseTensors_.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (Name.Length != 0) {
|
|
output.WriteRawTag(10);
|
|
output.WriteString(Name);
|
|
}
|
|
if (F != 0F) {
|
|
output.WriteRawTag(21);
|
|
output.WriteFloat(F);
|
|
}
|
|
if (I != 0L) {
|
|
output.WriteRawTag(24);
|
|
output.WriteInt64(I);
|
|
}
|
|
if (S.Length != 0) {
|
|
output.WriteRawTag(34);
|
|
output.WriteBytes(S);
|
|
}
|
|
if (t_ != null) {
|
|
output.WriteRawTag(42);
|
|
output.WriteMessage(T);
|
|
}
|
|
if (g_ != null) {
|
|
output.WriteRawTag(50);
|
|
output.WriteMessage(G);
|
|
}
|
|
floats_.WriteTo(output, _repeated_floats_codec);
|
|
ints_.WriteTo(output, _repeated_ints_codec);
|
|
strings_.WriteTo(output, _repeated_strings_codec);
|
|
tensors_.WriteTo(output, _repeated_tensors_codec);
|
|
graphs_.WriteTo(output, _repeated_graphs_codec);
|
|
if (DocString.Length != 0) {
|
|
output.WriteRawTag(106);
|
|
output.WriteString(DocString);
|
|
}
|
|
if (Type != 0) {
|
|
output.WriteRawTag(160, 1);
|
|
output.WriteEnum((int) Type);
|
|
}
|
|
if (RefAttrName.Length != 0) {
|
|
output.WriteRawTag(170, 1);
|
|
output.WriteString(RefAttrName);
|
|
}
|
|
if (sparseTensor_ != null) {
|
|
output.WriteRawTag(178, 1);
|
|
output.WriteMessage(SparseTensor);
|
|
}
|
|
sparseTensors_.WriteTo(output, _repeated_sparseTensors_codec);
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (Name.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
|
|
}
|
|
if (RefAttrName.Length != 0) {
|
|
size += 2 + pb::CodedOutputStream.ComputeStringSize(RefAttrName);
|
|
}
|
|
if (DocString.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(DocString);
|
|
}
|
|
if (Type != 0) {
|
|
size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
|
|
}
|
|
if (F != 0F) {
|
|
size += 1 + 4;
|
|
}
|
|
if (I != 0L) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt64Size(I);
|
|
}
|
|
if (S.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeBytesSize(S);
|
|
}
|
|
if (t_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(T);
|
|
}
|
|
if (g_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(G);
|
|
}
|
|
if (sparseTensor_ != null) {
|
|
size += 2 + pb::CodedOutputStream.ComputeMessageSize(SparseTensor);
|
|
}
|
|
size += floats_.CalculateSize(_repeated_floats_codec);
|
|
size += ints_.CalculateSize(_repeated_ints_codec);
|
|
size += strings_.CalculateSize(_repeated_strings_codec);
|
|
size += tensors_.CalculateSize(_repeated_tensors_codec);
|
|
size += graphs_.CalculateSize(_repeated_graphs_codec);
|
|
size += sparseTensors_.CalculateSize(_repeated_sparseTensors_codec);
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(AttributeProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.Name.Length != 0) {
|
|
Name = other.Name;
|
|
}
|
|
if (other.RefAttrName.Length != 0) {
|
|
RefAttrName = other.RefAttrName;
|
|
}
|
|
if (other.DocString.Length != 0) {
|
|
DocString = other.DocString;
|
|
}
|
|
if (other.Type != 0) {
|
|
Type = other.Type;
|
|
}
|
|
if (other.F != 0F) {
|
|
F = other.F;
|
|
}
|
|
if (other.I != 0L) {
|
|
I = other.I;
|
|
}
|
|
if (other.S.Length != 0) {
|
|
S = other.S;
|
|
}
|
|
if (other.t_ != null) {
|
|
if (t_ == null) {
|
|
t_ = new global::Onnx.TensorProto();
|
|
}
|
|
T.MergeFrom(other.T);
|
|
}
|
|
if (other.g_ != null) {
|
|
if (g_ == null) {
|
|
g_ = new global::Onnx.GraphProto();
|
|
}
|
|
G.MergeFrom(other.G);
|
|
}
|
|
if (other.sparseTensor_ != null) {
|
|
if (sparseTensor_ == null) {
|
|
sparseTensor_ = new global::Onnx.SparseTensorProto();
|
|
}
|
|
SparseTensor.MergeFrom(other.SparseTensor);
|
|
}
|
|
floats_.Add(other.floats_);
|
|
ints_.Add(other.ints_);
|
|
strings_.Add(other.strings_);
|
|
tensors_.Add(other.tensors_);
|
|
graphs_.Add(other.graphs_);
|
|
sparseTensors_.Add(other.sparseTensors_);
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
Name = input.ReadString();
|
|
break;
|
|
}
|
|
case 21: {
|
|
F = input.ReadFloat();
|
|
break;
|
|
}
|
|
case 24: {
|
|
I = input.ReadInt64();
|
|
break;
|
|
}
|
|
case 34: {
|
|
S = input.ReadBytes();
|
|
break;
|
|
}
|
|
case 42: {
|
|
if (t_ == null) {
|
|
t_ = new global::Onnx.TensorProto();
|
|
}
|
|
input.ReadMessage(t_);
|
|
break;
|
|
}
|
|
case 50: {
|
|
if (g_ == null) {
|
|
g_ = new global::Onnx.GraphProto();
|
|
}
|
|
input.ReadMessage(g_);
|
|
break;
|
|
}
|
|
case 58:
|
|
case 61: {
|
|
floats_.AddEntriesFrom(input, _repeated_floats_codec);
|
|
break;
|
|
}
|
|
case 66:
|
|
case 64: {
|
|
ints_.AddEntriesFrom(input, _repeated_ints_codec);
|
|
break;
|
|
}
|
|
case 74: {
|
|
strings_.AddEntriesFrom(input, _repeated_strings_codec);
|
|
break;
|
|
}
|
|
case 82: {
|
|
tensors_.AddEntriesFrom(input, _repeated_tensors_codec);
|
|
break;
|
|
}
|
|
case 90: {
|
|
graphs_.AddEntriesFrom(input, _repeated_graphs_codec);
|
|
break;
|
|
}
|
|
case 106: {
|
|
DocString = input.ReadString();
|
|
break;
|
|
}
|
|
case 160: {
|
|
type_ = (global::Onnx.AttributeProto.Types.AttributeType) input.ReadEnum();
|
|
break;
|
|
}
|
|
case 170: {
|
|
RefAttrName = input.ReadString();
|
|
break;
|
|
}
|
|
case 178: {
|
|
if (sparseTensor_ == null) {
|
|
sparseTensor_ = new global::Onnx.SparseTensorProto();
|
|
}
|
|
input.ReadMessage(sparseTensor_);
|
|
break;
|
|
}
|
|
case 186: {
|
|
sparseTensors_.AddEntriesFrom(input, _repeated_sparseTensors_codec);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#region Nested types
|
|
/// <summary>Container for nested types declared in the AttributeProto message type.</summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static partial class Types {
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
internal enum AttributeType {
|
|
[pbr::OriginalName("UNDEFINED")] Undefined = 0,
|
|
[pbr::OriginalName("FLOAT")] Float = 1,
|
|
[pbr::OriginalName("INT")] Int = 2,
|
|
[pbr::OriginalName("STRING")] String = 3,
|
|
[pbr::OriginalName("TENSOR")] Tensor = 4,
|
|
[pbr::OriginalName("GRAPH")] Graph = 5,
|
|
[pbr::OriginalName("SPARSE_TENSOR")] SparseTensor = 11,
|
|
[pbr::OriginalName("FLOATS")] Floats = 6,
|
|
[pbr::OriginalName("INTS")] Ints = 7,
|
|
[pbr::OriginalName("STRINGS")] Strings = 8,
|
|
[pbr::OriginalName("TENSORS")] Tensors = 9,
|
|
[pbr::OriginalName("GRAPHS")] Graphs = 10,
|
|
[pbr::OriginalName("SPARSE_TENSORS")] SparseTensors = 12,
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Defines information on value, including the name, the type, and
|
|
/// the shape of the value.
|
|
/// </summary>
|
|
internal sealed partial class ValueInfoProto : pb::IMessage<ValueInfoProto> {
|
|
private static readonly pb::MessageParser<ValueInfoProto> _parser = new pb::MessageParser<ValueInfoProto>(() => new ValueInfoProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<ValueInfoProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[1]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public ValueInfoProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public ValueInfoProto(ValueInfoProto other) : this() {
|
|
name_ = other.name_;
|
|
Type = other.type_ != null ? other.Type.Clone() : null;
|
|
docString_ = other.docString_;
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public ValueInfoProto Clone() {
|
|
return new ValueInfoProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "name" field.</summary>
|
|
public const int NameFieldNumber = 1;
|
|
private string name_ = "";
|
|
/// <summary>
|
|
/// This field MUST be present in this version of the IR.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Name {
|
|
get { return name_; }
|
|
set {
|
|
name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "type" field.</summary>
|
|
public const int TypeFieldNumber = 2;
|
|
private global::Onnx.TypeProto type_;
|
|
/// <summary>
|
|
/// This field MUST be present in this version of the IR.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TypeProto Type {
|
|
get { return type_; }
|
|
set {
|
|
type_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "doc_string" field.</summary>
|
|
public const int DocStringFieldNumber = 3;
|
|
private string docString_ = "";
|
|
/// <summary>
|
|
/// A human-readable documentation for this value. Markdown is allowed.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string DocString {
|
|
get { return docString_; }
|
|
set {
|
|
docString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as ValueInfoProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(ValueInfoProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (Name != other.Name) return false;
|
|
if (!object.Equals(Type, other.Type)) return false;
|
|
if (DocString != other.DocString) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (Name.Length != 0) hash ^= Name.GetHashCode();
|
|
if (type_ != null) hash ^= Type.GetHashCode();
|
|
if (DocString.Length != 0) hash ^= DocString.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (Name.Length != 0) {
|
|
output.WriteRawTag(10);
|
|
output.WriteString(Name);
|
|
}
|
|
if (type_ != null) {
|
|
output.WriteRawTag(18);
|
|
output.WriteMessage(Type);
|
|
}
|
|
if (DocString.Length != 0) {
|
|
output.WriteRawTag(26);
|
|
output.WriteString(DocString);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (Name.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
|
|
}
|
|
if (type_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Type);
|
|
}
|
|
if (DocString.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(DocString);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(ValueInfoProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.Name.Length != 0) {
|
|
Name = other.Name;
|
|
}
|
|
if (other.type_ != null) {
|
|
if (type_ == null) {
|
|
type_ = new global::Onnx.TypeProto();
|
|
}
|
|
Type.MergeFrom(other.Type);
|
|
}
|
|
if (other.DocString.Length != 0) {
|
|
DocString = other.DocString;
|
|
}
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
Name = input.ReadString();
|
|
break;
|
|
}
|
|
case 18: {
|
|
if (type_ == null) {
|
|
type_ = new global::Onnx.TypeProto();
|
|
}
|
|
input.ReadMessage(type_);
|
|
break;
|
|
}
|
|
case 26: {
|
|
DocString = input.ReadString();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
internal sealed partial class NodeProto : pb::IMessage<NodeProto> {
|
|
private static readonly pb::MessageParser<NodeProto> _parser = new pb::MessageParser<NodeProto>(() => new NodeProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<NodeProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[2]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public NodeProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public NodeProto(NodeProto other) : this() {
|
|
input_ = other.input_.Clone();
|
|
output_ = other.output_.Clone();
|
|
name_ = other.name_;
|
|
opType_ = other.opType_;
|
|
domain_ = other.domain_;
|
|
attribute_ = other.attribute_.Clone();
|
|
docString_ = other.docString_;
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public NodeProto Clone() {
|
|
return new NodeProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "input" field.</summary>
|
|
public const int InputFieldNumber = 1;
|
|
private static readonly pb::FieldCodec<string> _repeated_input_codec
|
|
= pb::FieldCodec.ForString(10);
|
|
private readonly pbc::RepeatedField<string> input_ = new pbc::RepeatedField<string>();
|
|
/// <summary>
|
|
/// namespace Value
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<string> Input {
|
|
get { return input_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "output" field.</summary>
|
|
public const int OutputFieldNumber = 2;
|
|
private static readonly pb::FieldCodec<string> _repeated_output_codec
|
|
= pb::FieldCodec.ForString(18);
|
|
private readonly pbc::RepeatedField<string> output_ = new pbc::RepeatedField<string>();
|
|
/// <summary>
|
|
/// namespace Value
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<string> Output {
|
|
get { return output_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "name" field.</summary>
|
|
public const int NameFieldNumber = 3;
|
|
private string name_ = "";
|
|
/// <summary>
|
|
/// An optional identifier for this node in a graph.
|
|
/// This field MAY be absent in ths version of the IR.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Name {
|
|
get { return name_; }
|
|
set {
|
|
name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "op_type" field.</summary>
|
|
public const int OpTypeFieldNumber = 4;
|
|
private string opType_ = "";
|
|
/// <summary>
|
|
/// The symbolic identifier of the Operator to execute.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string OpType {
|
|
get { return opType_; }
|
|
set {
|
|
opType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "domain" field.</summary>
|
|
public const int DomainFieldNumber = 7;
|
|
private string domain_ = "";
|
|
/// <summary>
|
|
/// The domain of the OperatorSet that specifies the operator named by op_type.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Domain {
|
|
get { return domain_; }
|
|
set {
|
|
domain_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "attribute" field.</summary>
|
|
public const int AttributeFieldNumber = 5;
|
|
private static readonly pb::FieldCodec<global::Onnx.AttributeProto> _repeated_attribute_codec
|
|
= pb::FieldCodec.ForMessage(42, global::Onnx.AttributeProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.AttributeProto> attribute_ = new pbc::RepeatedField<global::Onnx.AttributeProto>();
|
|
/// <summary>
|
|
/// Additional named attributes.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.AttributeProto> Attribute {
|
|
get { return attribute_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "doc_string" field.</summary>
|
|
public const int DocStringFieldNumber = 6;
|
|
private string docString_ = "";
|
|
/// <summary>
|
|
/// A human-readable documentation for this node. Markdown is allowed.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string DocString {
|
|
get { return docString_; }
|
|
set {
|
|
docString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as NodeProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(NodeProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if(!input_.Equals(other.input_)) return false;
|
|
if(!output_.Equals(other.output_)) return false;
|
|
if (Name != other.Name) return false;
|
|
if (OpType != other.OpType) return false;
|
|
if (Domain != other.Domain) return false;
|
|
if(!attribute_.Equals(other.attribute_)) return false;
|
|
if (DocString != other.DocString) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
hash ^= input_.GetHashCode();
|
|
hash ^= output_.GetHashCode();
|
|
if (Name.Length != 0) hash ^= Name.GetHashCode();
|
|
if (OpType.Length != 0) hash ^= OpType.GetHashCode();
|
|
if (Domain.Length != 0) hash ^= Domain.GetHashCode();
|
|
hash ^= attribute_.GetHashCode();
|
|
if (DocString.Length != 0) hash ^= DocString.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
input_.WriteTo(output, _repeated_input_codec);
|
|
output_.WriteTo(output, _repeated_output_codec);
|
|
if (Name.Length != 0) {
|
|
output.WriteRawTag(26);
|
|
output.WriteString(Name);
|
|
}
|
|
if (OpType.Length != 0) {
|
|
output.WriteRawTag(34);
|
|
output.WriteString(OpType);
|
|
}
|
|
attribute_.WriteTo(output, _repeated_attribute_codec);
|
|
if (DocString.Length != 0) {
|
|
output.WriteRawTag(50);
|
|
output.WriteString(DocString);
|
|
}
|
|
if (Domain.Length != 0) {
|
|
output.WriteRawTag(58);
|
|
output.WriteString(Domain);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
size += input_.CalculateSize(_repeated_input_codec);
|
|
size += output_.CalculateSize(_repeated_output_codec);
|
|
if (Name.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
|
|
}
|
|
if (OpType.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(OpType);
|
|
}
|
|
if (Domain.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Domain);
|
|
}
|
|
size += attribute_.CalculateSize(_repeated_attribute_codec);
|
|
if (DocString.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(DocString);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(NodeProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
input_.Add(other.input_);
|
|
output_.Add(other.output_);
|
|
if (other.Name.Length != 0) {
|
|
Name = other.Name;
|
|
}
|
|
if (other.OpType.Length != 0) {
|
|
OpType = other.OpType;
|
|
}
|
|
if (other.Domain.Length != 0) {
|
|
Domain = other.Domain;
|
|
}
|
|
attribute_.Add(other.attribute_);
|
|
if (other.DocString.Length != 0) {
|
|
DocString = other.DocString;
|
|
}
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
input_.AddEntriesFrom(input, _repeated_input_codec);
|
|
break;
|
|
}
|
|
case 18: {
|
|
output_.AddEntriesFrom(input, _repeated_output_codec);
|
|
break;
|
|
}
|
|
case 26: {
|
|
Name = input.ReadString();
|
|
break;
|
|
}
|
|
case 34: {
|
|
OpType = input.ReadString();
|
|
break;
|
|
}
|
|
case 42: {
|
|
attribute_.AddEntriesFrom(input, _repeated_attribute_codec);
|
|
break;
|
|
}
|
|
case 50: {
|
|
DocString = input.ReadString();
|
|
break;
|
|
}
|
|
case 58: {
|
|
Domain = input.ReadString();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
internal sealed partial class ModelProto : pb::IMessage<ModelProto> {
|
|
private static readonly pb::MessageParser<ModelProto> _parser = new pb::MessageParser<ModelProto>(() => new ModelProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<ModelProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[3]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public ModelProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public ModelProto(ModelProto other) : this() {
|
|
irVersion_ = other.irVersion_;
|
|
opsetImport_ = other.opsetImport_.Clone();
|
|
producerName_ = other.producerName_;
|
|
producerVersion_ = other.producerVersion_;
|
|
domain_ = other.domain_;
|
|
modelVersion_ = other.modelVersion_;
|
|
docString_ = other.docString_;
|
|
Graph = other.graph_ != null ? other.Graph.Clone() : null;
|
|
metadataProps_ = other.metadataProps_.Clone();
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public ModelProto Clone() {
|
|
return new ModelProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "ir_version" field.</summary>
|
|
public const int IrVersionFieldNumber = 1;
|
|
private long irVersion_;
|
|
/// <summary>
|
|
/// The version of the IR this model targets. See Version enum above.
|
|
/// This field MUST be present.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public long IrVersion {
|
|
get { return irVersion_; }
|
|
set {
|
|
irVersion_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "opset_import" field.</summary>
|
|
public const int OpsetImportFieldNumber = 8;
|
|
private static readonly pb::FieldCodec<global::Onnx.OperatorSetIdProto> _repeated_opsetImport_codec
|
|
= pb::FieldCodec.ForMessage(66, global::Onnx.OperatorSetIdProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.OperatorSetIdProto> opsetImport_ = new pbc::RepeatedField<global::Onnx.OperatorSetIdProto>();
|
|
/// <summary>
|
|
/// The OperatorSets this model relies on.
|
|
/// All ModelProtos MUST have at least one entry that
|
|
/// specifies which version of the ONNX OperatorSet is
|
|
/// being imported.
|
|
///
|
|
/// All nodes in the ModelProto's graph will bind against the operator
|
|
/// with the same-domain/same-op_type operator with the HIGHEST version
|
|
/// in the referenced operator sets.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.OperatorSetIdProto> OpsetImport {
|
|
get { return opsetImport_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "producer_name" field.</summary>
|
|
public const int ProducerNameFieldNumber = 2;
|
|
private string producerName_ = "";
|
|
/// <summary>
|
|
/// The name of the framework or tool used to generate this model.
|
|
/// This field SHOULD be present to indicate which implementation/tool/framework
|
|
/// emitted the model.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string ProducerName {
|
|
get { return producerName_; }
|
|
set {
|
|
producerName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "producer_version" field.</summary>
|
|
public const int ProducerVersionFieldNumber = 3;
|
|
private string producerVersion_ = "";
|
|
/// <summary>
|
|
/// The version of the framework or tool used to generate this model.
|
|
/// This field SHOULD be present to indicate which implementation/tool/framework
|
|
/// emitted the model.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string ProducerVersion {
|
|
get { return producerVersion_; }
|
|
set {
|
|
producerVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "domain" field.</summary>
|
|
public const int DomainFieldNumber = 4;
|
|
private string domain_ = "";
|
|
/// <summary>
|
|
/// Domain name of the model.
|
|
/// We use reverse domain names as name space indicators. For example:
|
|
/// `com.facebook.fair` or `com.microsoft.cognitiveservices`
|
|
///
|
|
/// Together with `model_version` and GraphProto.name, this forms the unique identity of
|
|
/// the graph.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Domain {
|
|
get { return domain_; }
|
|
set {
|
|
domain_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "model_version" field.</summary>
|
|
public const int ModelVersionFieldNumber = 5;
|
|
private long modelVersion_;
|
|
/// <summary>
|
|
/// The version of the graph encoded. See Version enum below.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public long ModelVersion {
|
|
get { return modelVersion_; }
|
|
set {
|
|
modelVersion_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "doc_string" field.</summary>
|
|
public const int DocStringFieldNumber = 6;
|
|
private string docString_ = "";
|
|
/// <summary>
|
|
/// A human-readable documentation for this model. Markdown is allowed.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string DocString {
|
|
get { return docString_; }
|
|
set {
|
|
docString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "graph" field.</summary>
|
|
public const int GraphFieldNumber = 7;
|
|
private global::Onnx.GraphProto graph_;
|
|
/// <summary>
|
|
/// The parameterized graph that is evaluated to execute the model.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.GraphProto Graph {
|
|
get { return graph_; }
|
|
set {
|
|
graph_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "metadata_props" field.</summary>
|
|
public const int MetadataPropsFieldNumber = 14;
|
|
private static readonly pb::FieldCodec<global::Onnx.StringStringEntryProto> _repeated_metadataProps_codec
|
|
= pb::FieldCodec.ForMessage(114, global::Onnx.StringStringEntryProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.StringStringEntryProto> metadataProps_ = new pbc::RepeatedField<global::Onnx.StringStringEntryProto>();
|
|
/// <summary>
|
|
/// Named metadata values; keys should be distinct.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.StringStringEntryProto> MetadataProps {
|
|
get { return metadataProps_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as ModelProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(ModelProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (IrVersion != other.IrVersion) return false;
|
|
if(!opsetImport_.Equals(other.opsetImport_)) return false;
|
|
if (ProducerName != other.ProducerName) return false;
|
|
if (ProducerVersion != other.ProducerVersion) return false;
|
|
if (Domain != other.Domain) return false;
|
|
if (ModelVersion != other.ModelVersion) return false;
|
|
if (DocString != other.DocString) return false;
|
|
if (!object.Equals(Graph, other.Graph)) return false;
|
|
if(!metadataProps_.Equals(other.metadataProps_)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (IrVersion != 0L) hash ^= IrVersion.GetHashCode();
|
|
hash ^= opsetImport_.GetHashCode();
|
|
if (ProducerName.Length != 0) hash ^= ProducerName.GetHashCode();
|
|
if (ProducerVersion.Length != 0) hash ^= ProducerVersion.GetHashCode();
|
|
if (Domain.Length != 0) hash ^= Domain.GetHashCode();
|
|
if (ModelVersion != 0L) hash ^= ModelVersion.GetHashCode();
|
|
if (DocString.Length != 0) hash ^= DocString.GetHashCode();
|
|
if (graph_ != null) hash ^= Graph.GetHashCode();
|
|
hash ^= metadataProps_.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (IrVersion != 0L) {
|
|
output.WriteRawTag(8);
|
|
output.WriteInt64(IrVersion);
|
|
}
|
|
if (ProducerName.Length != 0) {
|
|
output.WriteRawTag(18);
|
|
output.WriteString(ProducerName);
|
|
}
|
|
if (ProducerVersion.Length != 0) {
|
|
output.WriteRawTag(26);
|
|
output.WriteString(ProducerVersion);
|
|
}
|
|
if (Domain.Length != 0) {
|
|
output.WriteRawTag(34);
|
|
output.WriteString(Domain);
|
|
}
|
|
if (ModelVersion != 0L) {
|
|
output.WriteRawTag(40);
|
|
output.WriteInt64(ModelVersion);
|
|
}
|
|
if (DocString.Length != 0) {
|
|
output.WriteRawTag(50);
|
|
output.WriteString(DocString);
|
|
}
|
|
if (graph_ != null) {
|
|
output.WriteRawTag(58);
|
|
output.WriteMessage(Graph);
|
|
}
|
|
opsetImport_.WriteTo(output, _repeated_opsetImport_codec);
|
|
metadataProps_.WriteTo(output, _repeated_metadataProps_codec);
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (IrVersion != 0L) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt64Size(IrVersion);
|
|
}
|
|
size += opsetImport_.CalculateSize(_repeated_opsetImport_codec);
|
|
if (ProducerName.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(ProducerName);
|
|
}
|
|
if (ProducerVersion.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(ProducerVersion);
|
|
}
|
|
if (Domain.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Domain);
|
|
}
|
|
if (ModelVersion != 0L) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt64Size(ModelVersion);
|
|
}
|
|
if (DocString.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(DocString);
|
|
}
|
|
if (graph_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Graph);
|
|
}
|
|
size += metadataProps_.CalculateSize(_repeated_metadataProps_codec);
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(ModelProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.IrVersion != 0L) {
|
|
IrVersion = other.IrVersion;
|
|
}
|
|
opsetImport_.Add(other.opsetImport_);
|
|
if (other.ProducerName.Length != 0) {
|
|
ProducerName = other.ProducerName;
|
|
}
|
|
if (other.ProducerVersion.Length != 0) {
|
|
ProducerVersion = other.ProducerVersion;
|
|
}
|
|
if (other.Domain.Length != 0) {
|
|
Domain = other.Domain;
|
|
}
|
|
if (other.ModelVersion != 0L) {
|
|
ModelVersion = other.ModelVersion;
|
|
}
|
|
if (other.DocString.Length != 0) {
|
|
DocString = other.DocString;
|
|
}
|
|
if (other.graph_ != null) {
|
|
if (graph_ == null) {
|
|
graph_ = new global::Onnx.GraphProto();
|
|
}
|
|
Graph.MergeFrom(other.Graph);
|
|
}
|
|
metadataProps_.Add(other.metadataProps_);
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 8: {
|
|
IrVersion = input.ReadInt64();
|
|
break;
|
|
}
|
|
case 18: {
|
|
ProducerName = input.ReadString();
|
|
break;
|
|
}
|
|
case 26: {
|
|
ProducerVersion = input.ReadString();
|
|
break;
|
|
}
|
|
case 34: {
|
|
Domain = input.ReadString();
|
|
break;
|
|
}
|
|
case 40: {
|
|
ModelVersion = input.ReadInt64();
|
|
break;
|
|
}
|
|
case 50: {
|
|
DocString = input.ReadString();
|
|
break;
|
|
}
|
|
case 58: {
|
|
if (graph_ == null) {
|
|
graph_ = new global::Onnx.GraphProto();
|
|
}
|
|
input.ReadMessage(graph_);
|
|
break;
|
|
}
|
|
case 66: {
|
|
opsetImport_.AddEntriesFrom(input, _repeated_opsetImport_codec);
|
|
break;
|
|
}
|
|
case 114: {
|
|
metadataProps_.AddEntriesFrom(input, _repeated_metadataProps_codec);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// StringStringEntryProto follows the pattern for cross-proto-version maps.
|
|
/// See https://developers.google.com/protocol-buffers/docs/proto3#maps
|
|
/// </summary>
|
|
internal sealed partial class StringStringEntryProto : pb::IMessage<StringStringEntryProto> {
|
|
private static readonly pb::MessageParser<StringStringEntryProto> _parser = new pb::MessageParser<StringStringEntryProto>(() => new StringStringEntryProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<StringStringEntryProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[4]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public StringStringEntryProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public StringStringEntryProto(StringStringEntryProto other) : this() {
|
|
key_ = other.key_;
|
|
value_ = other.value_;
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public StringStringEntryProto Clone() {
|
|
return new StringStringEntryProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "key" field.</summary>
|
|
public const int KeyFieldNumber = 1;
|
|
private string key_ = "";
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Key {
|
|
get { return key_; }
|
|
set {
|
|
key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "value" field.</summary>
|
|
public const int ValueFieldNumber = 2;
|
|
private string value_ = "";
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Value {
|
|
get { return value_; }
|
|
set {
|
|
value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as StringStringEntryProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(StringStringEntryProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (Key != other.Key) return false;
|
|
if (Value != other.Value) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (Key.Length != 0) hash ^= Key.GetHashCode();
|
|
if (Value.Length != 0) hash ^= Value.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (Key.Length != 0) {
|
|
output.WriteRawTag(10);
|
|
output.WriteString(Key);
|
|
}
|
|
if (Value.Length != 0) {
|
|
output.WriteRawTag(18);
|
|
output.WriteString(Value);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (Key.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
|
|
}
|
|
if (Value.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(StringStringEntryProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.Key.Length != 0) {
|
|
Key = other.Key;
|
|
}
|
|
if (other.Value.Length != 0) {
|
|
Value = other.Value;
|
|
}
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
Key = input.ReadString();
|
|
break;
|
|
}
|
|
case 18: {
|
|
Value = input.ReadString();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
internal sealed partial class TensorAnnotation : pb::IMessage<TensorAnnotation> {
|
|
private static readonly pb::MessageParser<TensorAnnotation> _parser = new pb::MessageParser<TensorAnnotation>(() => new TensorAnnotation());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<TensorAnnotation> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[5]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorAnnotation() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorAnnotation(TensorAnnotation other) : this() {
|
|
tensorName_ = other.tensorName_;
|
|
quantParameterTensorNames_ = other.quantParameterTensorNames_.Clone();
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorAnnotation Clone() {
|
|
return new TensorAnnotation(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "tensor_name" field.</summary>
|
|
public const int TensorNameFieldNumber = 1;
|
|
private string tensorName_ = "";
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string TensorName {
|
|
get { return tensorName_; }
|
|
set {
|
|
tensorName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "quant_parameter_tensor_names" field.</summary>
|
|
public const int QuantParameterTensorNamesFieldNumber = 2;
|
|
private static readonly pb::FieldCodec<global::Onnx.StringStringEntryProto> _repeated_quantParameterTensorNames_codec
|
|
= pb::FieldCodec.ForMessage(18, global::Onnx.StringStringEntryProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.StringStringEntryProto> quantParameterTensorNames_ = new pbc::RepeatedField<global::Onnx.StringStringEntryProto>();
|
|
/// <summary>
|
|
/// <key, value> pairs to annotate tensor specified by <tensor_name> above.
|
|
/// The keys used in the mapping below must be pre-defined in ONNX spec.
|
|
/// For example, for 8-bit linear quantization case, 'SCALE_TENSOR', 'ZERO_POINT_TENSOR' will be pre-defined as
|
|
/// quantization parameter keys.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.StringStringEntryProto> QuantParameterTensorNames {
|
|
get { return quantParameterTensorNames_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as TensorAnnotation);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(TensorAnnotation other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (TensorName != other.TensorName) return false;
|
|
if(!quantParameterTensorNames_.Equals(other.quantParameterTensorNames_)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (TensorName.Length != 0) hash ^= TensorName.GetHashCode();
|
|
hash ^= quantParameterTensorNames_.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (TensorName.Length != 0) {
|
|
output.WriteRawTag(10);
|
|
output.WriteString(TensorName);
|
|
}
|
|
quantParameterTensorNames_.WriteTo(output, _repeated_quantParameterTensorNames_codec);
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (TensorName.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(TensorName);
|
|
}
|
|
size += quantParameterTensorNames_.CalculateSize(_repeated_quantParameterTensorNames_codec);
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(TensorAnnotation other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.TensorName.Length != 0) {
|
|
TensorName = other.TensorName;
|
|
}
|
|
quantParameterTensorNames_.Add(other.quantParameterTensorNames_);
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
TensorName = input.ReadString();
|
|
break;
|
|
}
|
|
case 18: {
|
|
quantParameterTensorNames_.AddEntriesFrom(input, _repeated_quantParameterTensorNames_codec);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
internal sealed partial class GraphProto : pb::IMessage<GraphProto> {
|
|
private static readonly pb::MessageParser<GraphProto> _parser = new pb::MessageParser<GraphProto>(() => new GraphProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<GraphProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[6]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public GraphProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public GraphProto(GraphProto other) : this() {
|
|
node_ = other.node_.Clone();
|
|
name_ = other.name_;
|
|
initializer_ = other.initializer_.Clone();
|
|
sparseInitializer_ = other.sparseInitializer_.Clone();
|
|
docString_ = other.docString_;
|
|
input_ = other.input_.Clone();
|
|
output_ = other.output_.Clone();
|
|
valueInfo_ = other.valueInfo_.Clone();
|
|
quantizationAnnotation_ = other.quantizationAnnotation_.Clone();
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public GraphProto Clone() {
|
|
return new GraphProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "node" field.</summary>
|
|
public const int NodeFieldNumber = 1;
|
|
private static readonly pb::FieldCodec<global::Onnx.NodeProto> _repeated_node_codec
|
|
= pb::FieldCodec.ForMessage(10, global::Onnx.NodeProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.NodeProto> node_ = new pbc::RepeatedField<global::Onnx.NodeProto>();
|
|
/// <summary>
|
|
/// The nodes in the graph, sorted topologically.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.NodeProto> Node {
|
|
get { return node_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "name" field.</summary>
|
|
public const int NameFieldNumber = 2;
|
|
private string name_ = "";
|
|
/// <summary>
|
|
/// The name of the graph.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Name {
|
|
get { return name_; }
|
|
set {
|
|
name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "initializer" field.</summary>
|
|
public const int InitializerFieldNumber = 5;
|
|
private static readonly pb::FieldCodec<global::Onnx.TensorProto> _repeated_initializer_codec
|
|
= pb::FieldCodec.ForMessage(42, global::Onnx.TensorProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.TensorProto> initializer_ = new pbc::RepeatedField<global::Onnx.TensorProto>();
|
|
/// <summary>
|
|
/// A list of named tensor values, used to specify constant inputs of the graph.
|
|
/// Each TensorProto entry must have a distinct name (within the list) that
|
|
/// MAY also appear in the input list.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.TensorProto> Initializer {
|
|
get { return initializer_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "sparse_initializer" field.</summary>
|
|
public const int SparseInitializerFieldNumber = 15;
|
|
private static readonly pb::FieldCodec<global::Onnx.SparseTensorProto> _repeated_sparseInitializer_codec
|
|
= pb::FieldCodec.ForMessage(122, global::Onnx.SparseTensorProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.SparseTensorProto> sparseInitializer_ = new pbc::RepeatedField<global::Onnx.SparseTensorProto>();
|
|
/// <summary>
|
|
/// Initializers (see above) stored in sparse format.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.SparseTensorProto> SparseInitializer {
|
|
get { return sparseInitializer_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "doc_string" field.</summary>
|
|
public const int DocStringFieldNumber = 10;
|
|
private string docString_ = "";
|
|
/// <summary>
|
|
/// A human-readable documentation for this graph. Markdown is allowed.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string DocString {
|
|
get { return docString_; }
|
|
set {
|
|
docString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "input" field.</summary>
|
|
public const int InputFieldNumber = 11;
|
|
private static readonly pb::FieldCodec<global::Onnx.ValueInfoProto> _repeated_input_codec
|
|
= pb::FieldCodec.ForMessage(90, global::Onnx.ValueInfoProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.ValueInfoProto> input_ = new pbc::RepeatedField<global::Onnx.ValueInfoProto>();
|
|
/// <summary>
|
|
/// The inputs and outputs of the graph.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.ValueInfoProto> Input {
|
|
get { return input_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "output" field.</summary>
|
|
public const int OutputFieldNumber = 12;
|
|
private static readonly pb::FieldCodec<global::Onnx.ValueInfoProto> _repeated_output_codec
|
|
= pb::FieldCodec.ForMessage(98, global::Onnx.ValueInfoProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.ValueInfoProto> output_ = new pbc::RepeatedField<global::Onnx.ValueInfoProto>();
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.ValueInfoProto> Output {
|
|
get { return output_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "value_info" field.</summary>
|
|
public const int ValueInfoFieldNumber = 13;
|
|
private static readonly pb::FieldCodec<global::Onnx.ValueInfoProto> _repeated_valueInfo_codec
|
|
= pb::FieldCodec.ForMessage(106, global::Onnx.ValueInfoProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.ValueInfoProto> valueInfo_ = new pbc::RepeatedField<global::Onnx.ValueInfoProto>();
|
|
/// <summary>
|
|
/// Information for the values in the graph. The ValueInfoProto.name's
|
|
/// must be distinct. It is optional for a value to appear in value_info list.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.ValueInfoProto> ValueInfo {
|
|
get { return valueInfo_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "quantization_annotation" field.</summary>
|
|
public const int QuantizationAnnotationFieldNumber = 14;
|
|
private static readonly pb::FieldCodec<global::Onnx.TensorAnnotation> _repeated_quantizationAnnotation_codec
|
|
= pb::FieldCodec.ForMessage(114, global::Onnx.TensorAnnotation.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.TensorAnnotation> quantizationAnnotation_ = new pbc::RepeatedField<global::Onnx.TensorAnnotation>();
|
|
/// <summary>
|
|
/// This field carries information to indicate the mapping among a tensor and its
|
|
/// quantization parameter tensors. For example:
|
|
/// For tensor 'a', it may have {'SCALE_TENSOR', 'a_scale'} and {'ZERO_POINT_TENSOR', 'a_zero_point'} annotated,
|
|
/// which means, tensor 'a_scale' and tensor 'a_zero_point' are scale and zero point of tensor 'a' in the model.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.TensorAnnotation> QuantizationAnnotation {
|
|
get { return quantizationAnnotation_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as GraphProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(GraphProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if(!node_.Equals(other.node_)) return false;
|
|
if (Name != other.Name) return false;
|
|
if(!initializer_.Equals(other.initializer_)) return false;
|
|
if(!sparseInitializer_.Equals(other.sparseInitializer_)) return false;
|
|
if (DocString != other.DocString) return false;
|
|
if(!input_.Equals(other.input_)) return false;
|
|
if(!output_.Equals(other.output_)) return false;
|
|
if(!valueInfo_.Equals(other.valueInfo_)) return false;
|
|
if(!quantizationAnnotation_.Equals(other.quantizationAnnotation_)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
hash ^= node_.GetHashCode();
|
|
if (Name.Length != 0) hash ^= Name.GetHashCode();
|
|
hash ^= initializer_.GetHashCode();
|
|
hash ^= sparseInitializer_.GetHashCode();
|
|
if (DocString.Length != 0) hash ^= DocString.GetHashCode();
|
|
hash ^= input_.GetHashCode();
|
|
hash ^= output_.GetHashCode();
|
|
hash ^= valueInfo_.GetHashCode();
|
|
hash ^= quantizationAnnotation_.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
node_.WriteTo(output, _repeated_node_codec);
|
|
if (Name.Length != 0) {
|
|
output.WriteRawTag(18);
|
|
output.WriteString(Name);
|
|
}
|
|
initializer_.WriteTo(output, _repeated_initializer_codec);
|
|
if (DocString.Length != 0) {
|
|
output.WriteRawTag(82);
|
|
output.WriteString(DocString);
|
|
}
|
|
input_.WriteTo(output, _repeated_input_codec);
|
|
output_.WriteTo(output, _repeated_output_codec);
|
|
valueInfo_.WriteTo(output, _repeated_valueInfo_codec);
|
|
quantizationAnnotation_.WriteTo(output, _repeated_quantizationAnnotation_codec);
|
|
sparseInitializer_.WriteTo(output, _repeated_sparseInitializer_codec);
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
size += node_.CalculateSize(_repeated_node_codec);
|
|
if (Name.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
|
|
}
|
|
size += initializer_.CalculateSize(_repeated_initializer_codec);
|
|
size += sparseInitializer_.CalculateSize(_repeated_sparseInitializer_codec);
|
|
if (DocString.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(DocString);
|
|
}
|
|
size += input_.CalculateSize(_repeated_input_codec);
|
|
size += output_.CalculateSize(_repeated_output_codec);
|
|
size += valueInfo_.CalculateSize(_repeated_valueInfo_codec);
|
|
size += quantizationAnnotation_.CalculateSize(_repeated_quantizationAnnotation_codec);
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(GraphProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
node_.Add(other.node_);
|
|
if (other.Name.Length != 0) {
|
|
Name = other.Name;
|
|
}
|
|
initializer_.Add(other.initializer_);
|
|
sparseInitializer_.Add(other.sparseInitializer_);
|
|
if (other.DocString.Length != 0) {
|
|
DocString = other.DocString;
|
|
}
|
|
input_.Add(other.input_);
|
|
output_.Add(other.output_);
|
|
valueInfo_.Add(other.valueInfo_);
|
|
quantizationAnnotation_.Add(other.quantizationAnnotation_);
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
node_.AddEntriesFrom(input, _repeated_node_codec);
|
|
break;
|
|
}
|
|
case 18: {
|
|
Name = input.ReadString();
|
|
break;
|
|
}
|
|
case 42: {
|
|
initializer_.AddEntriesFrom(input, _repeated_initializer_codec);
|
|
break;
|
|
}
|
|
case 82: {
|
|
DocString = input.ReadString();
|
|
break;
|
|
}
|
|
case 90: {
|
|
input_.AddEntriesFrom(input, _repeated_input_codec);
|
|
break;
|
|
}
|
|
case 98: {
|
|
output_.AddEntriesFrom(input, _repeated_output_codec);
|
|
break;
|
|
}
|
|
case 106: {
|
|
valueInfo_.AddEntriesFrom(input, _repeated_valueInfo_codec);
|
|
break;
|
|
}
|
|
case 114: {
|
|
quantizationAnnotation_.AddEntriesFrom(input, _repeated_quantizationAnnotation_codec);
|
|
break;
|
|
}
|
|
case 122: {
|
|
sparseInitializer_.AddEntriesFrom(input, _repeated_sparseInitializer_codec);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Tensors
|
|
///
|
|
/// A serialized tensor value.
|
|
/// </summary>
|
|
internal sealed partial class TensorProto : pb::IMessage<TensorProto> {
|
|
private static readonly pb::MessageParser<TensorProto> _parser = new pb::MessageParser<TensorProto>(() => new TensorProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<TensorProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[7]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorProto(TensorProto other) : this() {
|
|
dims_ = other.dims_.Clone();
|
|
dataType_ = other.dataType_;
|
|
Segment = other.segment_ != null ? other.Segment.Clone() : null;
|
|
floatData_ = other.floatData_.Clone();
|
|
int32Data_ = other.int32Data_.Clone();
|
|
stringData_ = other.stringData_.Clone();
|
|
int64Data_ = other.int64Data_.Clone();
|
|
name_ = other.name_;
|
|
docString_ = other.docString_;
|
|
rawData_ = other.rawData_;
|
|
externalData_ = other.externalData_.Clone();
|
|
dataLocation_ = other.dataLocation_;
|
|
doubleData_ = other.doubleData_.Clone();
|
|
uint64Data_ = other.uint64Data_.Clone();
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorProto Clone() {
|
|
return new TensorProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "dims" field.</summary>
|
|
public const int DimsFieldNumber = 1;
|
|
private static readonly pb::FieldCodec<long> _repeated_dims_codec
|
|
= pb::FieldCodec.ForInt64(10);
|
|
private readonly pbc::RepeatedField<long> dims_ = new pbc::RepeatedField<long>();
|
|
/// <summary>
|
|
/// The shape of the tensor.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<long> Dims {
|
|
get { return dims_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "data_type" field.</summary>
|
|
public const int DataTypeFieldNumber = 2;
|
|
private int dataType_;
|
|
/// <summary>
|
|
/// The data type of the tensor.
|
|
/// This field MUST have a valid TensorProto.DataType value
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int DataType {
|
|
get { return dataType_; }
|
|
set {
|
|
dataType_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "segment" field.</summary>
|
|
public const int SegmentFieldNumber = 3;
|
|
private global::Onnx.TensorProto.Types.Segment segment_;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TensorProto.Types.Segment Segment {
|
|
get { return segment_; }
|
|
set {
|
|
segment_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "float_data" field.</summary>
|
|
public const int FloatDataFieldNumber = 4;
|
|
private static readonly pb::FieldCodec<float> _repeated_floatData_codec
|
|
= pb::FieldCodec.ForFloat(34);
|
|
private readonly pbc::RepeatedField<float> floatData_ = new pbc::RepeatedField<float>();
|
|
/// <summary>
|
|
/// For float and complex64 values
|
|
/// Complex64 tensors are encoded as a single array of floats,
|
|
/// with the real components appearing in odd numbered positions,
|
|
/// and the corresponding imaginary component apparing in the
|
|
/// subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
|
|
/// is encoded as [1.0, 2.0 ,3.0 ,4.0]
|
|
/// When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<float> FloatData {
|
|
get { return floatData_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "int32_data" field.</summary>
|
|
public const int Int32DataFieldNumber = 5;
|
|
private static readonly pb::FieldCodec<int> _repeated_int32Data_codec
|
|
= pb::FieldCodec.ForInt32(42);
|
|
private readonly pbc::RepeatedField<int> int32Data_ = new pbc::RepeatedField<int>();
|
|
/// <summary>
|
|
/// For int32, uint8, int8, uint16, int16, bool, and float16 values
|
|
/// float16 values must be bit-wise converted to an uint16_t prior
|
|
/// to writing to the buffer.
|
|
/// When this field is present, the data_type field MUST be
|
|
/// INT32, INT16, INT8, UINT16, UINT8, BOOL, or FLOAT16
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<int> Int32Data {
|
|
get { return int32Data_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "string_data" field.</summary>
|
|
public const int StringDataFieldNumber = 6;
|
|
private static readonly pb::FieldCodec<pb::ByteString> _repeated_stringData_codec
|
|
= pb::FieldCodec.ForBytes(50);
|
|
private readonly pbc::RepeatedField<pb::ByteString> stringData_ = new pbc::RepeatedField<pb::ByteString>();
|
|
/// <summary>
|
|
/// For strings.
|
|
/// Each element of string_data is a UTF-8 encoded Unicode
|
|
/// string. No trailing null, no leading BOM. The protobuf "string"
|
|
/// scalar type is not used to match ML community conventions.
|
|
/// When this field is present, the data_type field MUST be STRING
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<pb::ByteString> StringData {
|
|
get { return stringData_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "int64_data" field.</summary>
|
|
public const int Int64DataFieldNumber = 7;
|
|
private static readonly pb::FieldCodec<long> _repeated_int64Data_codec
|
|
= pb::FieldCodec.ForInt64(58);
|
|
private readonly pbc::RepeatedField<long> int64Data_ = new pbc::RepeatedField<long>();
|
|
/// <summary>
|
|
/// For int64.
|
|
/// When this field is present, the data_type field MUST be INT64
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<long> Int64Data {
|
|
get { return int64Data_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "name" field.</summary>
|
|
public const int NameFieldNumber = 8;
|
|
private string name_ = "";
|
|
/// <summary>
|
|
/// Optionally, a name for the tensor.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Name {
|
|
get { return name_; }
|
|
set {
|
|
name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "doc_string" field.</summary>
|
|
public const int DocStringFieldNumber = 12;
|
|
private string docString_ = "";
|
|
/// <summary>
|
|
/// A human-readable documentation for this tensor. Markdown is allowed.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string DocString {
|
|
get { return docString_; }
|
|
set {
|
|
docString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "raw_data" field.</summary>
|
|
public const int RawDataFieldNumber = 9;
|
|
private pb::ByteString rawData_ = pb::ByteString.Empty;
|
|
/// <summary>
|
|
/// Serializations can either use one of the fields above, or use this
|
|
/// raw bytes field. The only exception is the string case, where one is
|
|
/// required to store the content in the repeated bytes string_data field.
|
|
///
|
|
/// When this raw_data field is used to store tensor value, elements MUST
|
|
/// be stored in as fixed-width, little-endian order.
|
|
/// Floating-point data types MUST be stored in IEEE 754 format.
|
|
/// Complex64 elements must be written as two consecutive FLOAT values, real component first.
|
|
/// Complex128 elements must be written as two consecutive DOUBLE values, real component first.
|
|
/// Boolean type MUST be written one byte per tensor element (00000001 for true, 00000000 for false).
|
|
///
|
|
/// Note: the advantage of specific field rather than the raw_data field is
|
|
/// that in some cases (e.g. int data), protobuf does a better packing via
|
|
/// variable length storage, and may lead to smaller binary footprint.
|
|
/// When this field is present, the data_type field MUST NOT be STRING or UNDEFINED
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pb::ByteString RawData {
|
|
get { return rawData_; }
|
|
set {
|
|
rawData_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "external_data" field.</summary>
|
|
public const int ExternalDataFieldNumber = 13;
|
|
private static readonly pb::FieldCodec<global::Onnx.StringStringEntryProto> _repeated_externalData_codec
|
|
= pb::FieldCodec.ForMessage(106, global::Onnx.StringStringEntryProto.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.StringStringEntryProto> externalData_ = new pbc::RepeatedField<global::Onnx.StringStringEntryProto>();
|
|
/// <summary>
|
|
/// Data can be stored inside the protobuf file using type-specific fields or raw_data.
|
|
/// Alternatively, raw bytes data can be stored in an external file, using the external_data field.
|
|
/// external_data stores key-value pairs describing data location. Recognized keys are:
|
|
/// - "location" (required) - POSIX filesystem path relative to the directory where the ONNX
|
|
/// protobuf model was stored
|
|
/// - "offset" (optional) - position of byte at which stored data begins. Integer stored as string.
|
|
/// Offset values SHOULD be multiples 4096 (page size) to enable mmap support.
|
|
/// - "length" (optional) - number of bytes containing data. Integer stored as string.
|
|
/// - "checksum" (optional) - SHA1 digest of file specified in under 'location' key.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.StringStringEntryProto> ExternalData {
|
|
get { return externalData_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "data_location" field.</summary>
|
|
public const int DataLocationFieldNumber = 14;
|
|
private global::Onnx.TensorProto.Types.DataLocation dataLocation_ = 0;
|
|
/// <summary>
|
|
/// If value not set, data is stored in raw_data (if set) otherwise in type-specified field.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TensorProto.Types.DataLocation DataLocation {
|
|
get { return dataLocation_; }
|
|
set {
|
|
dataLocation_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "double_data" field.</summary>
|
|
public const int DoubleDataFieldNumber = 10;
|
|
private static readonly pb::FieldCodec<double> _repeated_doubleData_codec
|
|
= pb::FieldCodec.ForDouble(82);
|
|
private readonly pbc::RepeatedField<double> doubleData_ = new pbc::RepeatedField<double>();
|
|
/// <summary>
|
|
/// For double
|
|
/// Complex128 tensors are encoded as a single array of doubles,
|
|
/// with the real components appearing in odd numbered positions,
|
|
/// and the corresponding imaginary component apparing in the
|
|
/// subsequent even numbered position. (e.g., [1.0 + 2.0i, 3.0 + 4.0i]
|
|
/// is encoded as [1.0, 2.0 ,3.0 ,4.0]
|
|
/// When this field is present, the data_type field MUST be DOUBLE or COMPLEX128
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<double> DoubleData {
|
|
get { return doubleData_; }
|
|
}
|
|
|
|
/// <summary>Field number for the "uint64_data" field.</summary>
|
|
public const int Uint64DataFieldNumber = 11;
|
|
private static readonly pb::FieldCodec<ulong> _repeated_uint64Data_codec
|
|
= pb::FieldCodec.ForUInt64(90);
|
|
private readonly pbc::RepeatedField<ulong> uint64Data_ = new pbc::RepeatedField<ulong>();
|
|
/// <summary>
|
|
/// For uint64 and uint32 values
|
|
/// When this field is present, the data_type field MUST be
|
|
/// UINT32 or UINT64
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<ulong> Uint64Data {
|
|
get { return uint64Data_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as TensorProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(TensorProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if(!dims_.Equals(other.dims_)) return false;
|
|
if (DataType != other.DataType) return false;
|
|
if (!object.Equals(Segment, other.Segment)) return false;
|
|
if(!floatData_.Equals(other.floatData_)) return false;
|
|
if(!int32Data_.Equals(other.int32Data_)) return false;
|
|
if(!stringData_.Equals(other.stringData_)) return false;
|
|
if(!int64Data_.Equals(other.int64Data_)) return false;
|
|
if (Name != other.Name) return false;
|
|
if (DocString != other.DocString) return false;
|
|
if (RawData != other.RawData) return false;
|
|
if(!externalData_.Equals(other.externalData_)) return false;
|
|
if (DataLocation != other.DataLocation) return false;
|
|
if(!doubleData_.Equals(other.doubleData_)) return false;
|
|
if(!uint64Data_.Equals(other.uint64Data_)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
hash ^= dims_.GetHashCode();
|
|
if (DataType != 0) hash ^= DataType.GetHashCode();
|
|
if (segment_ != null) hash ^= Segment.GetHashCode();
|
|
hash ^= floatData_.GetHashCode();
|
|
hash ^= int32Data_.GetHashCode();
|
|
hash ^= stringData_.GetHashCode();
|
|
hash ^= int64Data_.GetHashCode();
|
|
if (Name.Length != 0) hash ^= Name.GetHashCode();
|
|
if (DocString.Length != 0) hash ^= DocString.GetHashCode();
|
|
if (RawData.Length != 0) hash ^= RawData.GetHashCode();
|
|
hash ^= externalData_.GetHashCode();
|
|
if (DataLocation != 0) hash ^= DataLocation.GetHashCode();
|
|
hash ^= doubleData_.GetHashCode();
|
|
hash ^= uint64Data_.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
dims_.WriteTo(output, _repeated_dims_codec);
|
|
if (DataType != 0) {
|
|
output.WriteRawTag(16);
|
|
output.WriteInt32(DataType);
|
|
}
|
|
if (segment_ != null) {
|
|
output.WriteRawTag(26);
|
|
output.WriteMessage(Segment);
|
|
}
|
|
floatData_.WriteTo(output, _repeated_floatData_codec);
|
|
int32Data_.WriteTo(output, _repeated_int32Data_codec);
|
|
stringData_.WriteTo(output, _repeated_stringData_codec);
|
|
int64Data_.WriteTo(output, _repeated_int64Data_codec);
|
|
if (Name.Length != 0) {
|
|
output.WriteRawTag(66);
|
|
output.WriteString(Name);
|
|
}
|
|
if (RawData.Length != 0) {
|
|
output.WriteRawTag(74);
|
|
output.WriteBytes(RawData);
|
|
}
|
|
doubleData_.WriteTo(output, _repeated_doubleData_codec);
|
|
uint64Data_.WriteTo(output, _repeated_uint64Data_codec);
|
|
if (DocString.Length != 0) {
|
|
output.WriteRawTag(98);
|
|
output.WriteString(DocString);
|
|
}
|
|
externalData_.WriteTo(output, _repeated_externalData_codec);
|
|
if (DataLocation != 0) {
|
|
output.WriteRawTag(112);
|
|
output.WriteEnum((int) DataLocation);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
size += dims_.CalculateSize(_repeated_dims_codec);
|
|
if (DataType != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(DataType);
|
|
}
|
|
if (segment_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Segment);
|
|
}
|
|
size += floatData_.CalculateSize(_repeated_floatData_codec);
|
|
size += int32Data_.CalculateSize(_repeated_int32Data_codec);
|
|
size += stringData_.CalculateSize(_repeated_stringData_codec);
|
|
size += int64Data_.CalculateSize(_repeated_int64Data_codec);
|
|
if (Name.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
|
|
}
|
|
if (DocString.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(DocString);
|
|
}
|
|
if (RawData.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RawData);
|
|
}
|
|
size += externalData_.CalculateSize(_repeated_externalData_codec);
|
|
if (DataLocation != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DataLocation);
|
|
}
|
|
size += doubleData_.CalculateSize(_repeated_doubleData_codec);
|
|
size += uint64Data_.CalculateSize(_repeated_uint64Data_codec);
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(TensorProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
dims_.Add(other.dims_);
|
|
if (other.DataType != 0) {
|
|
DataType = other.DataType;
|
|
}
|
|
if (other.segment_ != null) {
|
|
if (segment_ == null) {
|
|
segment_ = new global::Onnx.TensorProto.Types.Segment();
|
|
}
|
|
Segment.MergeFrom(other.Segment);
|
|
}
|
|
floatData_.Add(other.floatData_);
|
|
int32Data_.Add(other.int32Data_);
|
|
stringData_.Add(other.stringData_);
|
|
int64Data_.Add(other.int64Data_);
|
|
if (other.Name.Length != 0) {
|
|
Name = other.Name;
|
|
}
|
|
if (other.DocString.Length != 0) {
|
|
DocString = other.DocString;
|
|
}
|
|
if (other.RawData.Length != 0) {
|
|
RawData = other.RawData;
|
|
}
|
|
externalData_.Add(other.externalData_);
|
|
if (other.DataLocation != 0) {
|
|
DataLocation = other.DataLocation;
|
|
}
|
|
doubleData_.Add(other.doubleData_);
|
|
uint64Data_.Add(other.uint64Data_);
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10:
|
|
case 8: {
|
|
dims_.AddEntriesFrom(input, _repeated_dims_codec);
|
|
break;
|
|
}
|
|
case 16: {
|
|
DataType = input.ReadInt32();
|
|
break;
|
|
}
|
|
case 26: {
|
|
if (segment_ == null) {
|
|
segment_ = new global::Onnx.TensorProto.Types.Segment();
|
|
}
|
|
input.ReadMessage(segment_);
|
|
break;
|
|
}
|
|
case 34:
|
|
case 37: {
|
|
floatData_.AddEntriesFrom(input, _repeated_floatData_codec);
|
|
break;
|
|
}
|
|
case 42:
|
|
case 40: {
|
|
int32Data_.AddEntriesFrom(input, _repeated_int32Data_codec);
|
|
break;
|
|
}
|
|
case 50: {
|
|
stringData_.AddEntriesFrom(input, _repeated_stringData_codec);
|
|
break;
|
|
}
|
|
case 58:
|
|
case 56: {
|
|
int64Data_.AddEntriesFrom(input, _repeated_int64Data_codec);
|
|
break;
|
|
}
|
|
case 66: {
|
|
Name = input.ReadString();
|
|
break;
|
|
}
|
|
case 74: {
|
|
RawData = input.ReadBytes();
|
|
break;
|
|
}
|
|
case 82:
|
|
case 81: {
|
|
doubleData_.AddEntriesFrom(input, _repeated_doubleData_codec);
|
|
break;
|
|
}
|
|
case 90:
|
|
case 88: {
|
|
uint64Data_.AddEntriesFrom(input, _repeated_uint64Data_codec);
|
|
break;
|
|
}
|
|
case 98: {
|
|
DocString = input.ReadString();
|
|
break;
|
|
}
|
|
case 106: {
|
|
externalData_.AddEntriesFrom(input, _repeated_externalData_codec);
|
|
break;
|
|
}
|
|
case 112: {
|
|
dataLocation_ = (global::Onnx.TensorProto.Types.DataLocation) input.ReadEnum();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#region Nested types
|
|
/// <summary>Container for nested types declared in the TensorProto message type.</summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static partial class Types {
|
|
internal enum DataType {
|
|
[pbr::OriginalName("UNDEFINED")] Undefined = 0,
|
|
/// <summary>
|
|
/// Basic types.
|
|
/// </summary>
|
|
[pbr::OriginalName("FLOAT")] Float = 1,
|
|
/// <summary>
|
|
/// uint8_t
|
|
/// </summary>
|
|
[pbr::OriginalName("UINT8")] Uint8 = 2,
|
|
/// <summary>
|
|
/// int8_t
|
|
/// </summary>
|
|
[pbr::OriginalName("INT8")] Int8 = 3,
|
|
/// <summary>
|
|
/// uint16_t
|
|
/// </summary>
|
|
[pbr::OriginalName("UINT16")] Uint16 = 4,
|
|
/// <summary>
|
|
/// int16_t
|
|
/// </summary>
|
|
[pbr::OriginalName("INT16")] Int16 = 5,
|
|
/// <summary>
|
|
/// int32_t
|
|
/// </summary>
|
|
[pbr::OriginalName("INT32")] Int32 = 6,
|
|
/// <summary>
|
|
/// int64_t
|
|
/// </summary>
|
|
[pbr::OriginalName("INT64")] Int64 = 7,
|
|
/// <summary>
|
|
/// string
|
|
/// </summary>
|
|
[pbr::OriginalName("STRING")] String = 8,
|
|
/// <summary>
|
|
/// bool
|
|
/// </summary>
|
|
[pbr::OriginalName("BOOL")] Bool = 9,
|
|
/// <summary>
|
|
/// IEEE754 half-precision floating-point format (16 bits wide).
|
|
/// This format has 1 sign bit, 5 exponent bits, and 10 mantissa bits.
|
|
/// </summary>
|
|
[pbr::OriginalName("FLOAT16")] Float16 = 10,
|
|
[pbr::OriginalName("DOUBLE")] Double = 11,
|
|
[pbr::OriginalName("UINT32")] Uint32 = 12,
|
|
[pbr::OriginalName("UINT64")] Uint64 = 13,
|
|
/// <summary>
|
|
/// complex with float32 real and imaginary components
|
|
/// </summary>
|
|
[pbr::OriginalName("COMPLEX64")] Complex64 = 14,
|
|
/// <summary>
|
|
/// complex with float64 real and imaginary components
|
|
/// </summary>
|
|
[pbr::OriginalName("COMPLEX128")] Complex128 = 15,
|
|
/// <summary>
|
|
/// Non-IEEE floating-point format based on IEEE754 single-precision
|
|
/// floating-point number truncated to 16 bits.
|
|
/// This format has 1 sign bit, 8 exponent bits, and 7 mantissa bits.
|
|
/// </summary>
|
|
[pbr::OriginalName("BFLOAT16")] Bfloat16 = 16,
|
|
}
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
internal enum DataLocation {
|
|
[pbr::OriginalName("DEFAULT")] Default = 0,
|
|
[pbr::OriginalName("EXTERNAL")] External = 1,
|
|
}
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
internal sealed partial class Segment : pb::IMessage<Segment> {
|
|
private static readonly pb::MessageParser<Segment> _parser = new pb::MessageParser<Segment>(() => new Segment());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<Segment> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.TensorProto.Descriptor.NestedTypes[0]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Segment() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Segment(Segment other) : this() {
|
|
begin_ = other.begin_;
|
|
end_ = other.end_;
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Segment Clone() {
|
|
return new Segment(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "begin" field.</summary>
|
|
public const int BeginFieldNumber = 1;
|
|
private long begin_;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public long Begin {
|
|
get { return begin_; }
|
|
set {
|
|
begin_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "end" field.</summary>
|
|
public const int EndFieldNumber = 2;
|
|
private long end_;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public long End {
|
|
get { return end_; }
|
|
set {
|
|
end_ = value;
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as Segment);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(Segment other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (Begin != other.Begin) return false;
|
|
if (End != other.End) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (Begin != 0L) hash ^= Begin.GetHashCode();
|
|
if (End != 0L) hash ^= End.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (Begin != 0L) {
|
|
output.WriteRawTag(8);
|
|
output.WriteInt64(Begin);
|
|
}
|
|
if (End != 0L) {
|
|
output.WriteRawTag(16);
|
|
output.WriteInt64(End);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (Begin != 0L) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt64Size(Begin);
|
|
}
|
|
if (End != 0L) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt64Size(End);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(Segment other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.Begin != 0L) {
|
|
Begin = other.Begin;
|
|
}
|
|
if (other.End != 0L) {
|
|
End = other.End;
|
|
}
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 8: {
|
|
Begin = input.ReadInt64();
|
|
break;
|
|
}
|
|
case 16: {
|
|
End = input.ReadInt64();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// A serialized sparse-tensor value
|
|
/// </summary>
|
|
internal sealed partial class SparseTensorProto : pb::IMessage<SparseTensorProto> {
|
|
private static readonly pb::MessageParser<SparseTensorProto> _parser = new pb::MessageParser<SparseTensorProto>(() => new SparseTensorProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<SparseTensorProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[8]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public SparseTensorProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public SparseTensorProto(SparseTensorProto other) : this() {
|
|
Values = other.values_ != null ? other.Values.Clone() : null;
|
|
Indices = other.indices_ != null ? other.Indices.Clone() : null;
|
|
dims_ = other.dims_.Clone();
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public SparseTensorProto Clone() {
|
|
return new SparseTensorProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "values" field.</summary>
|
|
public const int ValuesFieldNumber = 1;
|
|
private global::Onnx.TensorProto values_;
|
|
/// <summary>
|
|
/// The sequence of non-default values are encoded as a tensor of shape [NNZ].
|
|
/// The default-value is zero for numeric tensors, and empty-string for string tensors.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TensorProto Values {
|
|
get { return values_; }
|
|
set {
|
|
values_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "indices" field.</summary>
|
|
public const int IndicesFieldNumber = 2;
|
|
private global::Onnx.TensorProto indices_;
|
|
/// <summary>
|
|
/// The indices of the non-default values, which may be stored in one of two formats.
|
|
/// (a) Indices can be a tensor of shape [NNZ, rank] with the [i,j]-th value
|
|
/// corresponding to the j-th index of the i-th value (in the values tensor).
|
|
/// (b) Indices can be a tensor of shape [NNZ], in which case the i-th value
|
|
/// must be the linearized-index of the i-th value (in the values tensor).
|
|
/// The linearized-index can be converted into an index tuple (k_1,...,k_rank)
|
|
/// using the shape provided below.
|
|
/// The indices must appear in ascending order without duplication.
|
|
/// In the first format, the ordering is lexicographic-ordering:
|
|
/// e.g., index-value [1,4] must appear before [2,1]
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TensorProto Indices {
|
|
get { return indices_; }
|
|
set {
|
|
indices_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "dims" field.</summary>
|
|
public const int DimsFieldNumber = 3;
|
|
private static readonly pb::FieldCodec<long> _repeated_dims_codec
|
|
= pb::FieldCodec.ForInt64(26);
|
|
private readonly pbc::RepeatedField<long> dims_ = new pbc::RepeatedField<long>();
|
|
/// <summary>
|
|
/// The shape of the underlying dense-tensor: [dim_1, dim_2, ... dim_rank]
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<long> Dims {
|
|
get { return dims_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as SparseTensorProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(SparseTensorProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (!object.Equals(Values, other.Values)) return false;
|
|
if (!object.Equals(Indices, other.Indices)) return false;
|
|
if(!dims_.Equals(other.dims_)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (values_ != null) hash ^= Values.GetHashCode();
|
|
if (indices_ != null) hash ^= Indices.GetHashCode();
|
|
hash ^= dims_.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (values_ != null) {
|
|
output.WriteRawTag(10);
|
|
output.WriteMessage(Values);
|
|
}
|
|
if (indices_ != null) {
|
|
output.WriteRawTag(18);
|
|
output.WriteMessage(Indices);
|
|
}
|
|
dims_.WriteTo(output, _repeated_dims_codec);
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (values_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Values);
|
|
}
|
|
if (indices_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Indices);
|
|
}
|
|
size += dims_.CalculateSize(_repeated_dims_codec);
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(SparseTensorProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.values_ != null) {
|
|
if (values_ == null) {
|
|
values_ = new global::Onnx.TensorProto();
|
|
}
|
|
Values.MergeFrom(other.Values);
|
|
}
|
|
if (other.indices_ != null) {
|
|
if (indices_ == null) {
|
|
indices_ = new global::Onnx.TensorProto();
|
|
}
|
|
Indices.MergeFrom(other.Indices);
|
|
}
|
|
dims_.Add(other.dims_);
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
if (values_ == null) {
|
|
values_ = new global::Onnx.TensorProto();
|
|
}
|
|
input.ReadMessage(values_);
|
|
break;
|
|
}
|
|
case 18: {
|
|
if (indices_ == null) {
|
|
indices_ = new global::Onnx.TensorProto();
|
|
}
|
|
input.ReadMessage(indices_);
|
|
break;
|
|
}
|
|
case 26:
|
|
case 24: {
|
|
dims_.AddEntriesFrom(input, _repeated_dims_codec);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Defines a tensor shape. A dimension can be either an integer value
|
|
/// or a symbolic variable. A symbolic variable represents an unknown
|
|
/// dimension.
|
|
/// </summary>
|
|
internal sealed partial class TensorShapeProto : pb::IMessage<TensorShapeProto> {
|
|
private static readonly pb::MessageParser<TensorShapeProto> _parser = new pb::MessageParser<TensorShapeProto>(() => new TensorShapeProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<TensorShapeProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[9]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorShapeProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorShapeProto(TensorShapeProto other) : this() {
|
|
dim_ = other.dim_.Clone();
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TensorShapeProto Clone() {
|
|
return new TensorShapeProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "dim" field.</summary>
|
|
public const int DimFieldNumber = 1;
|
|
private static readonly pb::FieldCodec<global::Onnx.TensorShapeProto.Types.Dimension> _repeated_dim_codec
|
|
= pb::FieldCodec.ForMessage(10, global::Onnx.TensorShapeProto.Types.Dimension.Parser);
|
|
private readonly pbc::RepeatedField<global::Onnx.TensorShapeProto.Types.Dimension> dim_ = new pbc::RepeatedField<global::Onnx.TensorShapeProto.Types.Dimension>();
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public pbc::RepeatedField<global::Onnx.TensorShapeProto.Types.Dimension> Dim {
|
|
get { return dim_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as TensorShapeProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(TensorShapeProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if(!dim_.Equals(other.dim_)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
hash ^= dim_.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
dim_.WriteTo(output, _repeated_dim_codec);
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
size += dim_.CalculateSize(_repeated_dim_codec);
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(TensorShapeProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
dim_.Add(other.dim_);
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
dim_.AddEntriesFrom(input, _repeated_dim_codec);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#region Nested types
|
|
/// <summary>Container for nested types declared in the TensorShapeProto message type.</summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static partial class Types {
|
|
internal sealed partial class Dimension : pb::IMessage<Dimension> {
|
|
private static readonly pb::MessageParser<Dimension> _parser = new pb::MessageParser<Dimension>(() => new Dimension());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<Dimension> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.TensorShapeProto.Descriptor.NestedTypes[0]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Dimension() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Dimension(Dimension other) : this() {
|
|
denotation_ = other.denotation_;
|
|
switch (other.ValueCase) {
|
|
case ValueOneofCase.DimValue:
|
|
DimValue = other.DimValue;
|
|
break;
|
|
case ValueOneofCase.DimParam:
|
|
DimParam = other.DimParam;
|
|
break;
|
|
}
|
|
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Dimension Clone() {
|
|
return new Dimension(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "dim_value" field.</summary>
|
|
public const int DimValueFieldNumber = 1;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public long DimValue {
|
|
get { return valueCase_ == ValueOneofCase.DimValue ? (long) value_ : 0L; }
|
|
set {
|
|
value_ = value;
|
|
valueCase_ = ValueOneofCase.DimValue;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "dim_param" field.</summary>
|
|
public const int DimParamFieldNumber = 2;
|
|
/// <summary>
|
|
/// namespace Shape
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string DimParam {
|
|
get { return valueCase_ == ValueOneofCase.DimParam ? (string) value_ : ""; }
|
|
set {
|
|
value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
valueCase_ = ValueOneofCase.DimParam;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "denotation" field.</summary>
|
|
public const int DenotationFieldNumber = 3;
|
|
private string denotation_ = "";
|
|
/// <summary>
|
|
/// Standard denotation can optionally be used to denote tensor
|
|
/// dimensions with standard semantic descriptions to ensure
|
|
/// that operations are applied to the correct axis of a tensor.
|
|
/// Refer to https://github.com/onnx/onnx/blob/master/docs/DimensionDenotation.md#denotation-definition
|
|
/// for pre-defined dimension denotations.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Denotation {
|
|
get { return denotation_; }
|
|
set {
|
|
denotation_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
private object value_;
|
|
/// <summary>Enum of possible cases for the "value" oneof.</summary>
|
|
public enum ValueOneofCase {
|
|
None = 0,
|
|
DimValue = 1,
|
|
DimParam = 2,
|
|
}
|
|
private ValueOneofCase valueCase_ = ValueOneofCase.None;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public ValueOneofCase ValueCase {
|
|
get { return valueCase_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void ClearValue() {
|
|
valueCase_ = ValueOneofCase.None;
|
|
value_ = null;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as Dimension);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(Dimension other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (DimValue != other.DimValue) return false;
|
|
if (DimParam != other.DimParam) return false;
|
|
if (Denotation != other.Denotation) return false;
|
|
if (ValueCase != other.ValueCase) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (valueCase_ == ValueOneofCase.DimValue) hash ^= DimValue.GetHashCode();
|
|
if (valueCase_ == ValueOneofCase.DimParam) hash ^= DimParam.GetHashCode();
|
|
if (Denotation.Length != 0) hash ^= Denotation.GetHashCode();
|
|
hash ^= (int) valueCase_;
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (valueCase_ == ValueOneofCase.DimValue) {
|
|
output.WriteRawTag(8);
|
|
output.WriteInt64(DimValue);
|
|
}
|
|
if (valueCase_ == ValueOneofCase.DimParam) {
|
|
output.WriteRawTag(18);
|
|
output.WriteString(DimParam);
|
|
}
|
|
if (Denotation.Length != 0) {
|
|
output.WriteRawTag(26);
|
|
output.WriteString(Denotation);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (valueCase_ == ValueOneofCase.DimValue) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt64Size(DimValue);
|
|
}
|
|
if (valueCase_ == ValueOneofCase.DimParam) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(DimParam);
|
|
}
|
|
if (Denotation.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Denotation);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(Dimension other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.Denotation.Length != 0) {
|
|
Denotation = other.Denotation;
|
|
}
|
|
switch (other.ValueCase) {
|
|
case ValueOneofCase.DimValue:
|
|
DimValue = other.DimValue;
|
|
break;
|
|
case ValueOneofCase.DimParam:
|
|
DimParam = other.DimParam;
|
|
break;
|
|
}
|
|
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 8: {
|
|
DimValue = input.ReadInt64();
|
|
break;
|
|
}
|
|
case 18: {
|
|
DimParam = input.ReadString();
|
|
break;
|
|
}
|
|
case 26: {
|
|
Denotation = input.ReadString();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Types
|
|
///
|
|
/// The standard ONNX data types.
|
|
/// </summary>
|
|
internal sealed partial class TypeProto : pb::IMessage<TypeProto> {
|
|
private static readonly pb::MessageParser<TypeProto> _parser = new pb::MessageParser<TypeProto>(() => new TypeProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<TypeProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[10]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TypeProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TypeProto(TypeProto other) : this() {
|
|
denotation_ = other.denotation_;
|
|
switch (other.ValueCase) {
|
|
case ValueOneofCase.TensorType:
|
|
TensorType = other.TensorType.Clone();
|
|
break;
|
|
}
|
|
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public TypeProto Clone() {
|
|
return new TypeProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "tensor_type" field.</summary>
|
|
public const int TensorTypeFieldNumber = 1;
|
|
/// <summary>
|
|
/// The type of a tensor.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TypeProto.Types.Tensor TensorType {
|
|
get { return valueCase_ == ValueOneofCase.TensorType ? (global::Onnx.TypeProto.Types.Tensor) value_ : null; }
|
|
set {
|
|
value_ = value;
|
|
valueCase_ = value == null ? ValueOneofCase.None : ValueOneofCase.TensorType;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "denotation" field.</summary>
|
|
public const int DenotationFieldNumber = 6;
|
|
private string denotation_ = "";
|
|
/// <summary>
|
|
/// An optional denotation can be used to denote the whole
|
|
/// type with a standard semantic description as to what is
|
|
/// stored inside. Refer to https://github.com/onnx/onnx/blob/master/docs/TypeDenotation.md#type-denotation-definition
|
|
/// for pre-defined type denotations.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Denotation {
|
|
get { return denotation_; }
|
|
set {
|
|
denotation_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
private object value_;
|
|
/// <summary>Enum of possible cases for the "value" oneof.</summary>
|
|
public enum ValueOneofCase {
|
|
None = 0,
|
|
TensorType = 1,
|
|
}
|
|
private ValueOneofCase valueCase_ = ValueOneofCase.None;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public ValueOneofCase ValueCase {
|
|
get { return valueCase_; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void ClearValue() {
|
|
valueCase_ = ValueOneofCase.None;
|
|
value_ = null;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as TypeProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(TypeProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (!object.Equals(TensorType, other.TensorType)) return false;
|
|
if (Denotation != other.Denotation) return false;
|
|
if (ValueCase != other.ValueCase) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (valueCase_ == ValueOneofCase.TensorType) hash ^= TensorType.GetHashCode();
|
|
if (Denotation.Length != 0) hash ^= Denotation.GetHashCode();
|
|
hash ^= (int) valueCase_;
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (valueCase_ == ValueOneofCase.TensorType) {
|
|
output.WriteRawTag(10);
|
|
output.WriteMessage(TensorType);
|
|
}
|
|
if (Denotation.Length != 0) {
|
|
output.WriteRawTag(50);
|
|
output.WriteString(Denotation);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (valueCase_ == ValueOneofCase.TensorType) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(TensorType);
|
|
}
|
|
if (Denotation.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Denotation);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(TypeProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.Denotation.Length != 0) {
|
|
Denotation = other.Denotation;
|
|
}
|
|
switch (other.ValueCase) {
|
|
case ValueOneofCase.TensorType:
|
|
if (TensorType == null) {
|
|
TensorType = new global::Onnx.TypeProto.Types.Tensor();
|
|
}
|
|
TensorType.MergeFrom(other.TensorType);
|
|
break;
|
|
}
|
|
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
global::Onnx.TypeProto.Types.Tensor subBuilder = new global::Onnx.TypeProto.Types.Tensor();
|
|
if (valueCase_ == ValueOneofCase.TensorType) {
|
|
subBuilder.MergeFrom(TensorType);
|
|
}
|
|
input.ReadMessage(subBuilder);
|
|
TensorType = subBuilder;
|
|
break;
|
|
}
|
|
case 50: {
|
|
Denotation = input.ReadString();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#region Nested types
|
|
/// <summary>Container for nested types declared in the TypeProto message type.</summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static partial class Types {
|
|
internal sealed partial class Tensor : pb::IMessage<Tensor> {
|
|
private static readonly pb::MessageParser<Tensor> _parser = new pb::MessageParser<Tensor>(() => new Tensor());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<Tensor> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.TypeProto.Descriptor.NestedTypes[0]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Tensor() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Tensor(Tensor other) : this() {
|
|
elemType_ = other.elemType_;
|
|
Shape = other.shape_ != null ? other.Shape.Clone() : null;
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public Tensor Clone() {
|
|
return new Tensor(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "elem_type" field.</summary>
|
|
public const int ElemTypeFieldNumber = 1;
|
|
private int elemType_;
|
|
/// <summary>
|
|
/// This field MUST NOT have the value of UNDEFINED
|
|
/// This field MUST have a valid TensorProto.DataType value
|
|
/// This field MUST be present for this version of the IR.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int ElemType {
|
|
get { return elemType_; }
|
|
set {
|
|
elemType_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "shape" field.</summary>
|
|
public const int ShapeFieldNumber = 2;
|
|
private global::Onnx.TensorShapeProto shape_;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TensorShapeProto Shape {
|
|
get { return shape_; }
|
|
set {
|
|
shape_ = value;
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as Tensor);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(Tensor other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (ElemType != other.ElemType) return false;
|
|
if (!object.Equals(Shape, other.Shape)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (ElemType != 0) hash ^= ElemType.GetHashCode();
|
|
if (shape_ != null) hash ^= Shape.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (ElemType != 0) {
|
|
output.WriteRawTag(8);
|
|
output.WriteInt32(ElemType);
|
|
}
|
|
if (shape_ != null) {
|
|
output.WriteRawTag(18);
|
|
output.WriteMessage(Shape);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (ElemType != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(ElemType);
|
|
}
|
|
if (shape_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Shape);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(Tensor other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.ElemType != 0) {
|
|
ElemType = other.ElemType;
|
|
}
|
|
if (other.shape_ != null) {
|
|
if (shape_ == null) {
|
|
shape_ = new global::Onnx.TensorShapeProto();
|
|
}
|
|
Shape.MergeFrom(other.Shape);
|
|
}
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 8: {
|
|
ElemType = input.ReadInt32();
|
|
break;
|
|
}
|
|
case 18: {
|
|
if (shape_ == null) {
|
|
shape_ = new global::Onnx.TensorShapeProto();
|
|
}
|
|
input.ReadMessage(shape_);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
internal sealed partial class SparseTensor : pb::IMessage<SparseTensor> {
|
|
private static readonly pb::MessageParser<SparseTensor> _parser = new pb::MessageParser<SparseTensor>(() => new SparseTensor());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<SparseTensor> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.TypeProto.Descriptor.NestedTypes[1]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public SparseTensor() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public SparseTensor(SparseTensor other) : this() {
|
|
elemType_ = other.elemType_;
|
|
Shape = other.shape_ != null ? other.Shape.Clone() : null;
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public SparseTensor Clone() {
|
|
return new SparseTensor(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "elem_type" field.</summary>
|
|
public const int ElemTypeFieldNumber = 1;
|
|
private int elemType_;
|
|
/// <summary>
|
|
/// This field MUST NOT have the value of UNDEFINED
|
|
/// This field MUST have a valid TensorProto.DataType value
|
|
/// This field MUST be present for this version of the IR.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int ElemType {
|
|
get { return elemType_; }
|
|
set {
|
|
elemType_ = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "shape" field.</summary>
|
|
public const int ShapeFieldNumber = 2;
|
|
private global::Onnx.TensorShapeProto shape_;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public global::Onnx.TensorShapeProto Shape {
|
|
get { return shape_; }
|
|
set {
|
|
shape_ = value;
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as SparseTensor);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(SparseTensor other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (ElemType != other.ElemType) return false;
|
|
if (!object.Equals(Shape, other.Shape)) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (ElemType != 0) hash ^= ElemType.GetHashCode();
|
|
if (shape_ != null) hash ^= Shape.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (ElemType != 0) {
|
|
output.WriteRawTag(8);
|
|
output.WriteInt32(ElemType);
|
|
}
|
|
if (shape_ != null) {
|
|
output.WriteRawTag(18);
|
|
output.WriteMessage(Shape);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (ElemType != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(ElemType);
|
|
}
|
|
if (shape_ != null) {
|
|
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Shape);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(SparseTensor other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.ElemType != 0) {
|
|
ElemType = other.ElemType;
|
|
}
|
|
if (other.shape_ != null) {
|
|
if (shape_ == null) {
|
|
shape_ = new global::Onnx.TensorShapeProto();
|
|
}
|
|
Shape.MergeFrom(other.Shape);
|
|
}
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 8: {
|
|
ElemType = input.ReadInt32();
|
|
break;
|
|
}
|
|
case 18: {
|
|
if (shape_ == null) {
|
|
shape_ = new global::Onnx.TensorShapeProto();
|
|
}
|
|
input.ReadMessage(shape_);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Operator Sets
|
|
///
|
|
/// OperatorSets are uniquely identified by a (domain, opset_version) pair.
|
|
/// </summary>
|
|
internal sealed partial class OperatorSetIdProto : pb::IMessage<OperatorSetIdProto> {
|
|
private static readonly pb::MessageParser<OperatorSetIdProto> _parser = new pb::MessageParser<OperatorSetIdProto>(() => new OperatorSetIdProto());
|
|
private pb::UnknownFieldSet _unknownFields;
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pb::MessageParser<OperatorSetIdProto> Parser { get { return _parser; } }
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public static pbr::MessageDescriptor Descriptor {
|
|
get { return global::Onnx.OnnxReflection.Descriptor.MessageTypes[11]; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
|
get { return Descriptor; }
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public OperatorSetIdProto() {
|
|
OnConstruction();
|
|
}
|
|
|
|
partial void OnConstruction();
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public OperatorSetIdProto(OperatorSetIdProto other) : this() {
|
|
domain_ = other.domain_;
|
|
version_ = other.version_;
|
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public OperatorSetIdProto Clone() {
|
|
return new OperatorSetIdProto(this);
|
|
}
|
|
|
|
/// <summary>Field number for the "domain" field.</summary>
|
|
public const int DomainFieldNumber = 1;
|
|
private string domain_ = "";
|
|
/// <summary>
|
|
/// The domain of the operator set being identified.
|
|
/// The empty string ("") or absence of this field implies the operator
|
|
/// set that is defined as part of the ONNX specification.
|
|
/// This field MUST be present in this version of the IR when referring to any other operator set.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public string Domain {
|
|
get { return domain_; }
|
|
set {
|
|
domain_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
|
}
|
|
}
|
|
|
|
/// <summary>Field number for the "version" field.</summary>
|
|
public const int VersionFieldNumber = 2;
|
|
private long version_;
|
|
/// <summary>
|
|
/// The version of the operator set being identified.
|
|
/// This field MUST be present in this version of the IR.
|
|
/// </summary>
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public long Version {
|
|
get { return version_; }
|
|
set {
|
|
version_ = value;
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override bool Equals(object other) {
|
|
return Equals(other as OperatorSetIdProto);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public bool Equals(OperatorSetIdProto other) {
|
|
if (ReferenceEquals(other, null)) {
|
|
return false;
|
|
}
|
|
if (ReferenceEquals(other, this)) {
|
|
return true;
|
|
}
|
|
if (Domain != other.Domain) return false;
|
|
if (Version != other.Version) return false;
|
|
return Equals(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override int GetHashCode() {
|
|
int hash = 1;
|
|
if (Domain.Length != 0) hash ^= Domain.GetHashCode();
|
|
if (Version != 0L) hash ^= Version.GetHashCode();
|
|
if (_unknownFields != null) {
|
|
hash ^= _unknownFields.GetHashCode();
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public override string ToString() {
|
|
return pb::JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void WriteTo(pb::CodedOutputStream output) {
|
|
if (Domain.Length != 0) {
|
|
output.WriteRawTag(10);
|
|
output.WriteString(Domain);
|
|
}
|
|
if (Version != 0L) {
|
|
output.WriteRawTag(16);
|
|
output.WriteInt64(Version);
|
|
}
|
|
if (_unknownFields != null) {
|
|
_unknownFields.WriteTo(output);
|
|
}
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public int CalculateSize() {
|
|
int size = 0;
|
|
if (Domain.Length != 0) {
|
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(Domain);
|
|
}
|
|
if (Version != 0L) {
|
|
size += 1 + pb::CodedOutputStream.ComputeInt64Size(Version);
|
|
}
|
|
if (_unknownFields != null) {
|
|
size += _unknownFields.CalculateSize();
|
|
}
|
|
return size;
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(OperatorSetIdProto other) {
|
|
if (other == null) {
|
|
return;
|
|
}
|
|
if (other.Domain.Length != 0) {
|
|
Domain = other.Domain;
|
|
}
|
|
if (other.Version != 0L) {
|
|
Version = other.Version;
|
|
}
|
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
|
}
|
|
|
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
|
public void MergeFrom(pb::CodedInputStream input) {
|
|
uint tag;
|
|
while ((tag = input.ReadTag()) != 0) {
|
|
switch(tag) {
|
|
default:
|
|
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
|
break;
|
|
case 10: {
|
|
Domain = input.ReadString();
|
|
break;
|
|
}
|
|
case 16: {
|
|
Version = input.ReadInt64();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
#endregion Designer generated code
|