使用openvino量化onnx模型,pycharm中操作,openvino调用完成推理

一.简单说明

openvino是Intel公司为了加速模型推理而推出的一款工具,对于一些Intel公司的CPU和GPU上运行模型有不错的加速效果。

二.调用库推理

如果要对pycharm导出的pt模型部署到Intel公司的芯片上运行可以使用openvino将模型转化为xml+bin格式的文件再用openvino第三方库来调用推理。

三.主要讲解openvino量化pytoch模型,然后使用openvino调用推理:

1.pycharm中安装openvino

可以直接切换到python环境,运行pip install openvino,推荐最新版,老版本经常改动,很多方法经常变动。
本篇文章以2025.1.0为例来说明。

2.pt文件转onnx

此篇文章不做说明,一般是调用torch.onnx.export此方法转,会生成onnx文件。

3.onnx文件转xml+bin

下面会附上源码,只需要简单调用openvino.runtime里面的Core和serialize即可,注意不要使用from openvino.inference_engine import IECore这种,否则很可能报错。具体原因不想深究,总之我的量化和推理过程不需要用到openvino.inference_engine模块。
代码如下:

from openvino.runtime import Core
from openvino.runtime import serialize

ie = Core()
onnx_model_path = r"../_fp32.onnx"
model_onnx = ie.read_model(model=onnx_model_path)
# compiled_model_onnx = ie.compile_model(model=model_onnx, device_name="CPU")
serialize(model=model_onnx, xml_path="model.xml", bin_path="model.bin",
          version="UNSPECIFIED")
         
4.如果需要量化,对xml+bin量化

下面的input_data 的取值范围和模型形状需要改为你自己的数据的对应范围和形状,前处理和推理时一致即可。完成量化后直接就是int8的模型,具体能不能在CPU上运行需要对应机器的CPU支持VNNI指令集。需要用到nncf,直接pip install nncf即可。

import numpy as np
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值