ONNX 开始

本文介绍了ONNX环境的配置,包括基础的Anaconda和简化流程。详细阐述了如何使用ONNX,如提取子模型、修改输入输出名称和维度,并提供了模型推理及节点操作的方法,包括替换节点和运行推理。此外,还提供了参考资源帮助理解。
摘要由CSDN通过智能技术生成

环境

基础

conda create -n onnx python=3.8 -y
conda activate onnx

# ONNX
#  https://github.com/onnx/onnx
conda install -c conda-forge onnx -y
python -c "import onnx; print(onnx.__version__)"
import onnx
model = onnx.load("model.onnx")

简化

# ONNX Simplifier
#  https://github.com/daquexian/onnx-simplifier
pip install onnx-simplifier
python -m onnxsim -h
import onnxsim
model_simp, check = onnxsim.simplify(model, perform_optimization=False)
assert check, "Simplified ONNX model could not be validated"

使用

给出些 ONNX 模型使用的示例方法。

提取子模型

import onnx

input_path = "path/to/the/original/model.onnx"
output_path = "path/to/save/the/extracted/model.onnx"
input_names = ["input_0", "input_1", "input_2"]
output_names = ["output_0", "output_1"]

onnx.utils.extract_model(input_path, output_path, input_names, output_names)

修改输入输出名称

def _onnx_rename(model, names, names_new):
  for node in model.graph.node:
    for i, n in enumerate(node.input):
      if n in names:
        node.input[i] = names_new[names.index(n
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值