栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【精华】ONNX模型API构造

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【精华】ONNX模型API构造

文章目录
        • ONNX模型API构造与代码检查
          • 1 构造描述张量信息的对象`ValueInfoProto`
          • 2 构造算子节点信息`NodeProto`
          • 3 构造计算图`GraphProto`
          • 4 封装计算图
          • 5 检查代码
        • ONNX Python API 构造模型完整代码

ONNX模型API构造与代码检查

参考博客:https://zhuanlan.zhihu.com/p/516920606

1 构造描述张量信息的对象ValueInfoProto
import onnx 
from onnx import helper 
from onnx import TensorProto 
 
a = helper.make_tensor_value_info('a', TensorProto.FLOAT, [10, 10]) 
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [10, 10]) 
b = helper.make_tensor_value_info('b', TensorProto.FLOAT, [10, 10]) 
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, [10, 10]) 
2 构造算子节点信息NodeProto
mul = helper.make_node('Mul', ['a', 'x'], ['c']) 
add = helper.make_node('Add', ['c', 'b'], ['output']) 
3 构造计算图GraphProto
graph = helper.make_graph([mul, add], 'linear_func', [a, x, b], [output]) 
4 封装计算图

用 helper.make_model 把计算图 GraphProto 封装进模型 ModelProto

model = helper.make_model(graph) 
5 检查代码
onnx.checker.check_model(model) 
print(model) 
onnx.save(model, 'linear_func.onnx') 
ONNX Python API 构造模型完整代码
import onnx 
from onnx import helper 
from onnx import TensorProto 
 
# input and output 
a = helper.make_tensor_value_info('a', TensorProto.FLOAT, [10, 10]) 
x = helper.make_tensor_value_info('x', TensorProto.FLOAT, [10, 10]) 
b = helper.make_tensor_value_info('b', TensorProto.FLOAT, [10, 10]) 
output = helper.make_tensor_value_info('output', TensorProto.FLOAT, [10, 10]) 
 
# Mul 
mul = helper.make_node('Mul', ['a', 'x'], ['c']) 
 
# Add 
add = helper.make_node('Add', ['c', 'b'], ['output']) 
 
# graph and model 
graph = helper.make_graph([mul, add], 'linear_func', [a, x, b], [output]) 
model = helper.make_model(graph) 
 
# save model 
onnx.checker.check_model(model) 
print(model) 
onnx.save(model, 'linear_func.onnx') 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021811.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号