ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

onnxruntime 使用,删除、修改

2021-09-07 14:02:35  阅读:1080  来源: 互联网

标签:node 删除 onnxruntime onnx 节点 修改 graph model nodes


输出中间层数据(python)

import onnx
from onnx import helper

model = onnx.load(“C:/Users/Desktop/fastscnn_0907_fix.onnx”)
#名字命名为想要输出层对应的节点名,参数类型、维度,需要自己给出
info = helper.make_tensor_value_info(‘552’,onnx.TensorProto.INT64, [1,1280, 1280])
#将构建的输出插入到模型中
model.graph.output.insert(0, info)
onnx.save(model, ‘C:/Users/Desktop/out.onnx’)

删除节点

import onnx
from onnx import helper

model = onnx.load(“C:/Users/Desktop/fastscnn_0907_fix.onnx”)
graph = model.graph
nodes = graph.node
for i in range(len(nodes)):
print(i,nodes[i])
#通过打印查看想要删除的节点,并记录删除节点位置i
#删除节点,255为所有节点nodes的索引
graph.node.remove(nodes[255])
#检查模型
onnx.checker.check_model(model)
#保存新模型
onnx.save(model, ‘C:/Users/Desktop/out.onnx’)

修改节点,可通过先删除,再插入的方式

import onnx
from onnx import helper

model = onnx.load(“C:/Users/Desktop/fastscnn.onnx”)
graph = model.graph
nodes = graph.node
for i in range(len(nodes)):
print(i,nodes[i])
#通过打印查看想要删除的节点,并记录删除节点位置i
#删除节点,255为所有节点nodes的索引
graph.node.remove(nodes[255])
#插入新节点
new_node = onnx.helper.make_node(
“Unsqueeze”,
inputs=[’’],
outputs=[‘output’],
axes = [0],
)
graph.node.insert(255, new_node)
#检查模型
onnx.checker.check_model(model)
#保存新模型
onnx.save(model, ‘C:/Users/Desktop/out.onnx’)

标签:node,删除,onnxruntime,onnx,节点,修改,graph,model,nodes
来源: https://blog.csdn.net/zxxx66/article/details/120156199

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有