Onnxruntime学习笔记

onnx模型存储规范使用profobuf协议定义,由onnx-ml.proto(3), onnx-data.proto(3), onnx-operators-ml.proto(3)等3个协议文件组成。
为了兼容protobuf2和protobuf3标准,每个协议文件都有2个版本,后缀为.proto和.proto3。

onnx-ml.proto(3)文件定义了Model.ModelProto是onnx模型文件的顶级容器。
message ModelProto {
ir_version
opset_import
GraphProto graph


}

message GraphProto {
repeated NodeProto node 图中的所有计算结点
repeated TesnorProto initializer 所有constant输入数据(模型参数,)
repeated ValueInfoProto input 输入变量的信息
repeated ValueInfoProto output 输出变量的信息
repeated ValueInfoProto value_info 图中其余变量的信息

}

TensorProto用于描述一个tensor的信息,如维度,数据类型,如何存储,具体的值是多少
message TensorProto {
repeated int64 dims 维度
int32 data_type 数据类型:1FLOAT, 6INT32, 7INT64, 10FLOAT16, 11DOUBLE …

根据情况数据可能存放在以下字段中
bytes raw_data
repeated double double_data
repeated float float_data

其它描述tensor的字段
}

你可能感兴趣的:(C++,Python,python,人工智能,神经网络,深度学习)