1、ONNX的本质,是一种Protobuf格式文件
2、Protobuf则通过onnx-ml.proto编译得到onnx-ml.pb.h和onnx-ml.pb.cc或onnx_ml_pb2.py
3、然后用onnx-ml.pb.cc和代码来操作onnx模型文件,实现增删改
4、onnx-ml.proto则是描述onnx文件如何组成的,具有什么结构,他是操作onnx经常参照的东西

https://github.com/onnx/onnx/blob/main/onnx/onnx-ml.proto

表示onnx中有节点类型叫node
他有input属性,是repeated,即重复类型,数组
他有output属性,是repeated,即重复类型,数组
他有name属性是string类型
对于repeated是数组,对于optional无视他
对于input = 1,后面的数字是id,无视他
我们只关心是否数组,类型是什么

model:表示整个onnx的模型,包含图结构和解析器格式、opset版本、导出程序类型model.graph:表示图结构,通常是我们netron看到的主要结构model.graph.node

本文介绍了ONNX的本质——一种Protobuf格式文件,详细阐述了onnx-ml.proto在定义模型结构中的作用,并探讨了如何使用ONNX进行模型创建、读取和修改。重点内容包括PyTorch模型转ONNX、ONNX模型结构解析以及模型的操作步骤。
最低0.47元/天 解锁文章
889

被折叠的 条评论
为什么被折叠?



