5.1 onnx 修改权重示例

前言

对onnx 结构中的权重进行修改

比如:原本是一个标量,修改为一个一维数组

code

cpp 复制代码
import onnx
import numpy as np
import  torch
import argparse
from onnx import TensorProto, helper, numpy_helper

# 检查onnx计算图
def check_onnx(model):
    onnx.checker.check_model(model)


onnx_path = "./bs16_seq397.onnx"
save_path = "./bs16_seq397_m.onnx"
model = onnx.load(onnx_path)
graph = model.graph

# 修改 initializer
initializer1 = helper.make_tensor("537", TensorProto.FLOAT, [1], np.array([397]))
initializer2 = helper.make_tensor("540", TensorProto.FLOAT, [1], np.array([0]))
initializer3 = helper.make_tensor("1707", TensorProto.FLOAT, [1], np.array([2]))

# print(graph.initializer)
for initializer in graph.initializer:
    if initializer.name =="537":
        graph.initializer.remove(initializer)
        graph.initializer.append(initializer1)
    if initializer.name =="540":
        graph.initializer.remove(initializer)
        graph.initializer.append(initializer2)
    if initializer.name =="1707":
        graph.initializer.remove(initializer)
        graph.initializer.append(initializer3)


graph = onnx.helper.make_graph(graph.node, graph.name, graph.input, graph.output, graph.initializer)
info_model = onnx.helper.make_model(graph)
info_model.ir_version = 8
info_model.opset_import[0].version = 11

check_onnx(info_model)
onnx.save_model(info_model, save_path)
print(f"modify onnx done, save path:{save_path} \n")
相关推荐
搬砖的阿wei3 个月前
ONNX:统一深度学习工作流的关键枢纽
人工智能·python·深度学习·onnx
Yongqiang Cheng4 个月前
Llama 2 Powered By ONNX
onnx·llama 2
Hi202402175 个月前
RK3588-NPU pytorch-image-models 模型编译测试
人工智能·pytorch·python·rk3588·onnx·推理
后端常规开发人员5 个月前
最好用的图文识别OCR -- PaddleOCR(2) 提高推理效率(PPOCR模型转ONNX模型进行推理)
python·ocr·onnx·paddleocr
JadePeng7 个月前
Windows 使用 Intel(R) Arc(TM) GPU 推理ONNX 模型
onnx
坐望云起8 个月前
Ubuntu20.04 更新Nvidia驱动 + 安装CUDA12.1 + cudnn8.9.7
linux·ubuntu·nvidia·cuda·onnx·1024程序员节
Arnold-FY-Chen8 个月前
解决低版本pytorch和onnx组合时torch.atan2()不被onnx支持的问题
pytorch·onnxruntime·onnx·atan·atan2
牙牙要健康9 个月前
【深度学习】【图像分类】【OnnxRuntime】【Python】VggNet模型部署
onnx
城城城_10 个月前
yolact导出onnx
python·yolo·分割·onnx·yolact
Ephemeroptera1 年前
搭建自己的AI模型应用网站:JavaScript + Flask-Python + ONNX
javascript·人工智能·python·onnx