修改onnx模型输出示例 | 您所在的位置:网站首页 › onnx怎么读 › 修改onnx模型输出示例 |
前言
读入模型 import onnx onnx_model = onnx.load("xxx.onnx") graph = onnx_model.graph首先以图的形式读入你的模型,图一般包括node(节点),initializer(初始化),input(输入),output(输出)四部分,全部打印出来的话非常长,在这里我们主要涉及到删除节点和修改输出两部分。 查看output 删除node节点 nodes = graph.node for i in range(len(nodes)): print(i,nodes[i])由于是修改输出,我们只关心最后的几个节点。 倒着顺序删除,再次打印节点: 修改output graph.output[0].name = 'add_result_0' graph.output[0].type.tensor_type.elem_type = 1由于add_result_0输出的值为float32,因此需要在output中修改elem_type为对应的数据类型,1为float32,更多类型查看我上一篇文章。 结果比较 onnx.save(onnx_model, 'modify_xxx.onnx')先保存模型,再调用onnx runtime进行模型调用: import onnxruntime as rt sess = rt.InferenceSession("modify_xxx.onnx") onnx_pred = sess.run() #具体里面填什么根据你的模型填,此处为伪代码
|
CopyRight 2018-2019 实验室设备网 版权所有 |