Onnx模型格式
Onnx模型格式
为什么要用Onnx格式
Onnx是一种针对机器学习设计的开放式的文件格式,用于储存训练好的模型。可以使不同的深度学习框架采用相同的格式存储模型数据。``Onnx`是一种便于在各个主流深度学习框架中迁移模型的中间表达格式
ONNX与Protobuf
ONNX采用序列化数据结构协议protobuf来存储模型信息。我们可以通过protobuf自己设计一种数据结构的协议,然后是用各种语言去读取或者写入。ONNX中采用Onnx.proto定义ONNX的数据协议规则和一些其他的信息。同样,也可以借助protobuf来解析Onnx模型
Onnx的数据结构

Onnx的模型解析流程
- 读取
pytorch或者tensorflow或者其他深度学习框架转下训练好的模型换过来的.onnx文件,获取整个网络模型(model)结构 - 通过
model结构访问graph结构 - 通过
graph结构访问整个网络的所有node以及inputs和outputs - 通过
node结构可以获取每一层的参数信息

浙公网安备 33010602011771号