Onnx模型格式

Onnx模型格式

为什么要用Onnx格式

Onnx是一种针对机器学习设计的开放式的文件格式,用于储存训练好的模型。可以使不同的深度学习框架采用相同的格式存储模型数据。``Onnx`是一种便于在各个主流深度学习框架中迁移模型的中间表达格式

ONNXProtobuf

ONNX采用序列化数据结构协议protobuf来存储模型信息。我们可以通过protobuf自己设计一种数据结构的协议,然后是用各种语言去读取或者写入。ONNX中采用Onnx.proto定义ONNX的数据协议规则和一些其他的信息。同样,也可以借助protobuf来解析Onnx模型

Onnx的数据结构

image-20220426112359889

Onnx的模型解析流程

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

Pytorch的pt转onnx

posted @ 2022-05-07 21:59  rain-1227  阅读(706)  评论(0)    收藏  举报