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")
相关推荐
坐望云起1 个月前
Ubuntu20.04 更新Nvidia驱动 + 安装CUDA12.1 + cudnn8.9.7
linux·ubuntu·nvidia·cuda·onnx·1024程序员节
Arnold-FY-Chen1 个月前
解决低版本pytorch和onnx组合时torch.atan2()不被onnx支持的问题
pytorch·onnxruntime·onnx·atan·atan2
牙牙要健康2 个月前
【深度学习】【图像分类】【OnnxRuntime】【Python】VggNet模型部署
onnx
城城城_3 个月前
yolact导出onnx
python·yolo·分割·onnx·yolact
Ephemeroptera5 个月前
搭建自己的AI模型应用网站:JavaScript + Flask-Python + ONNX
javascript·人工智能·python·onnx
Ephemeroptera5 个月前
导出 Whisper 模型到 ONNX
whisper·openai·语音识别·onnx·int8
爱听歌的周童鞋6 个月前
三. TensorRT基础入门-剖析ONNX架构并理解ProtoBuf
onnx·protobuf
凉_白开7 个月前
阿里开源黑白图片上色算法DDColor的部署与测试并将模型转onnx后用c++推理
c++·onnx·ddcolor
太阳花的小绿豆7 个月前
Pytorch导出FP16 ONNX模型
人工智能·pytorch·python·onnx
小白哒哒8 个月前
Pytorch转onnx
人工智能·onnx