当前位置:首页 > 编程笔记 > 正文
已解决

4.2 onnx简化模型结构

来自网友在路上 166866提问 提问时间:2023-11-09 21:51:32阅读次数: 66

最佳答案 问答题库668位专家为你答疑解惑

前言

对已有的onnx结构,进行简化操作,onnx提供两种常规操作

方式一

假设为 model.onnx, 比较简单粗暴

# 简化
onnxsim model.onnx model_sim.onnx

方式二

稍微复杂点,代码有点多

import onnx
import argparse
from onnxsim import simplify# Simplify
def simplify_model(args):onnx_model = onnx.load(args.origin_model)model_simp, check = simplify(onnx_model)model_simp = onnx.shape_inference.infer_shapes(model_simp)onnx.save(model_simp, args.output_model)print("  Simplify onnx Done.")# 检查onnx计算图
def checknet(model_path):model = onnx.load(model_path)onnx.checker.check_model(model)  # Print a human readable representation of the graph# print(onnx.helper.printable_graph(model.graph))def parse_args():parser = argparse.ArgumentParser()parser.add_argument("--origin_model", type=str)parser.add_argument("--output_model", type=str)args = parser.parse_args()return argsif __name__ == "__main__":args = parse_args()simplify_model(args

总结

  • 两种本质上没用改变,都是通过调用onnxsim进行操作
  • 看个人使用时机
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"4.2 onnx简化模型结构":http://eshow365.cn/6-36572-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!