ONNX构架剖析和ProtoBuf

ONNX(Open Neural Network Exchange Intermediate Representation)是一种神经网络的格式,采用Protobuf二进制形式进行序列化模型。

Protobuf 全称叫做Protocal Buffer。是Google提出来的一套表示和序列化数据的机制。
Protobuf会根据用于定义的数据结构来进行序列化存储同理,我们可以根据官方提供的数据结构信息,去修改或者创建onnx。

Protobuf的编译以及序列化流程

在onnx.in.proto定义了所有onnx的Proto。

# Onnx 中的组织架构

# - ModelProto(整个模型的信息)

# --- GraphProto(网络信息)

# ------ NodeProto(计算节点信息)

# --------- TensorProto(包含Weights)

# ------------ ValueInfoProto(input/output 信息)

TensorProto

定义一个权重,比如Conv的w和b。

  // The shape of the tensor.
  repeated int64 dims = 1;

  // The data type of the tensor.
  // This field MUST have a valid TensorProt
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值