#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModelProto {
#[prost(int64, tag = "1")]
pub ir_version: i64,
#[prost(string, tag = "2")]
pub producer_name: String,
#[prost(string, tag = "3")]
pub producer_version: String,
#[prost(string, tag = "4")]
pub domain: String,
#[prost(int64, tag = "5")]
pub model_version: i64,
#[prost(string, tag = "6")]
pub doc_string: String,
#[prost(message, optional, tag = "7")]
pub graph: Option<GraphProto>,
#[prost(message, repeated, tag = "8")]
pub opset_import: Vec<OperatorSetIdProto>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OperatorSetIdProto {
#[prost(string, tag = "1")]
pub domain: String,
#[prost(int64, tag = "2")]
pub version: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GraphProto {
#[prost(message, repeated, tag = "1")]
pub node: Vec<NodeProto>,
#[prost(string, tag = "2")]
pub name: String,
#[prost(message, repeated, tag = "5")]
pub initializer: Vec<TensorProto>,
#[prost(string, tag = "10")]
pub doc_string: String,
#[prost(message, repeated, tag = "11")]
pub input: Vec<ValueInfoProto>,
#[prost(message, repeated, tag = "12")]
pub output: Vec<ValueInfoProto>,
#[prost(message, repeated, tag = "13")]
pub value_info: Vec<ValueInfoProto>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NodeProto {
#[prost(string, repeated, tag = "1")]
pub input: Vec<String>,
#[prost(string, repeated, tag = "2")]
pub output: Vec<String>,
#[prost(string, tag = "3")]
pub name: String,
#[prost(string, tag = "4")]
pub op_type: String,
#[prost(message, repeated, tag = "5")]
pub attribute: Vec<AttributeProto>,
#[prost(string, tag = "6")]
pub doc_string: String,
#[prost(string, tag = "7")]
pub domain: String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttributeProto {
#[prost(string, tag = "1")]
pub name: String,
#[prost(float, tag = "2")]
pub f: f32,
#[prost(int64, tag = "3")]
pub i: i64,
#[prost(bytes = "vec", tag = "4")]
pub s: Vec<u8>,
#[prost(message, optional, tag = "5")]
pub t: Option<TensorProto>,
#[prost(float, repeated, tag = "7")]
pub floats: Vec<f32>,
#[prost(int64, repeated, tag = "8")]
pub ints: Vec<i64>,
#[prost(bytes = "vec", repeated, tag = "9")]
pub strings: Vec<Vec<u8>>,
#[prost(int32, tag = "20")]
pub r#type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TensorProto {
#[prost(int64, repeated, tag = "1")]
pub dims: Vec<i64>,
#[prost(int32, tag = "2")]
pub data_type: i32,
#[prost(float, repeated, tag = "4")]
pub float_data: Vec<f32>,
#[prost(int32, repeated, tag = "5")]
pub int32_data: Vec<i32>,
#[prost(int64, repeated, tag = "7")]
pub int64_data: Vec<i64>,
#[prost(string, tag = "8")]
pub name: String,
#[prost(bytes = "vec", tag = "9")]
pub raw_data: Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValueInfoProto {
#[prost(string, tag = "1")]
pub name: String,
#[prost(message, optional, tag = "2")]
pub r#type: Option<TypeProto>,
#[prost(string, tag = "3")]
pub doc_string: String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TypeProto {
#[prost(message, optional, tag = "1")]
pub tensor_type: Option<type_proto::Tensor>,
}
pub mod type_proto {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tensor {
#[prost(int32, tag = "1")]
pub elem_type: i32,
#[prost(message, optional, tag = "2")]
pub shape: Option<super::TensorShapeProto>,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TensorShapeProto {
#[prost(message, repeated, tag = "1")]
pub dim: Vec<tensor_shape_proto::Dimension>,
}
pub mod tensor_shape_proto {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dimension {
#[prost(oneof = "dimension::Value", tags = "1, 2")]
pub value: Option<dimension::Value>,
}
pub mod dimension {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(int64, tag = "1")]
DimValue(i64),
#[prost(string, tag = "2")]
DimParam(String),
}
}
}