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")
相关推荐
Techblog of HaoWANG7 天前
目标检测与跟踪 (7)- YOLOv8 ONNX量化模型部署指南
yolo·目标检测·onnx·量化部署
地狱为王8 天前
Unity使用sherpa-onnx实现关键词检测
unity·onnx·sherpa-onnx·关键词检测
月满星沉9 天前
ONNX量化
深度学习·onnx·量化
无心水11 天前
【神经风格迁移:性能】23、边缘艺术革命:树莓派+ONNX实现本地神经风格迁移,单张<2秒
pytorch·边缘计算·树莓派·onnx·int8·神经风格迁移:性能·神经风格
deephub20 天前
ONNX Runtime Python 推理性能优化:8 个低延迟工程实践
开发语言·人工智能·python·神经网络·性能优化·onnx
腾飞开源24 天前
40_Spring AI 干货笔记之 Transformers (ONNX) 嵌入
人工智能·huggingface·onnx·transformers·嵌入模型·spring ai·句子转换器
AIminminHu2 个月前
底层视觉及图像增强-项目实践理论补充(十六-0-(26):Onnx---》底层视觉及图像增强):从奥运大屏到手机小屏,快来挖一挖里面都有什么
onnx
从孑开始3 个月前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
断水客3 个月前
如何自动生成ONNX模型?
人工智能·ai·onnx·ai编译器
楚潸潸5 个月前
从onnx模型到om模型的全自动化转化
深度学习·边缘计算·onnx·昇腾·om模型