public ModelArgs(string name, OnnxCSharpToProtoWrapper.TensorProto.Types.DataType dataType, List <long> dims, List <bool> dimParams) { Name = name; DataType = dataType; Dims = dims; DimParams = dimParams; }
private static OnnxCSharpToProtoWrapper.AttributeProto MakeAttribute(string key, OnnxCSharpToProtoWrapper.TensorProto.Types.DataType value) { OnnxCSharpToProtoWrapper.AttributeProto attribute = MakeAttribute(key); attribute.Type = OnnxCSharpToProtoWrapper.AttributeProto.Types.AttributeType.Int; attribute.I = (int)value; return(attribute); }
private static OnnxCSharpToProtoWrapper.ValueInfoProto MakeValue(OnnxCSharpToProtoWrapper.ValueInfoProto value, string name, OnnxCSharpToProtoWrapper.TensorProto.Types.DataType dataType, List <long> dims, List <bool> dimsParam) { Contracts.CheckValue(value, nameof(value)); Contracts.CheckNonEmpty(name, nameof(name)); value.Name = name; if (value.Type == null) { value.Type = new OnnxCSharpToProtoWrapper.TypeProto(); } MakeType(value.Type, dataType, dims, dimsParam); return(value); }
private static OnnxCSharpToProtoWrapper.TypeProto MakeType(OnnxCSharpToProtoWrapper.TypeProto typeProto, OnnxCSharpToProtoWrapper.TensorProto.Types.DataType dataType, List <long> dims, List <bool> dimsParam) { Contracts.CheckValue(typeProto, nameof(typeProto)); if (typeProto.TensorType == null) { typeProto.TensorType = new OnnxCSharpToProtoWrapper.TypeProto.Types.Tensor(); } typeProto.TensorType.ElemType = (int)dataType; if (dims != null) { for (int index = 0; index < dims.Count; index++) { var d = new OnnxCSharpToProtoWrapper.TensorShapeProto.Types.Dimension(); if (typeProto.TensorType.Shape == null) { typeProto.TensorType.Shape = new OnnxCSharpToProtoWrapper.TensorShapeProto(); } if (dimsParam != null && dimsParam.Count > index && dimsParam[index]) { d.DimParam = "None"; } else { d.DimValue = dims[index]; } typeProto.TensorType.Shape.Dim.Add(d); } } return(typeProto); }