Ejemplo n.º 1
0
 public ModelArgs(string name, OnnxCSharpToProtoWrapper.TensorProto.Types.DataType dataType, List <long> dims, List <bool> dimParams)
 {
     Name      = name;
     DataType  = dataType;
     Dims      = dims;
     DimParams = dimParams;
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }