openvino量化自己训练的yolov3模型至int8(有成功验证截图)

本文介绍了如何使用openvino将darknet训练的yolov3模型从FP16或FP32转换为INT8模型,以提升推理速度。详细步骤包括安装pot量化工具,编写yolo-v3.json配置文件,并验证INT8模型的性能。实验证明,INT8模型虽然精度略有下降,但实时性得到显著提高。
摘要由CSDN通过智能技术生成

FP16 or FP32 to int8:

接着上一篇博客将darknet训练得到的model转换为IR模型后,该IR模型为Inter 加速推理后的模型
IR模型为FP16 or FP32
接下来将IR模型转换为INT8,得到一个速度较快准确率略低的模型
下述为实现步骤:

ubuntu18.04: openvino2020.4 :

pip list :
Package Version


accuracy-checker 0.7.7
addict 2.2.1
apturl 0.5.2
asn1crypto 0.24.0
Brlapi 0.6.6
certifi 2018.1.18
cffi 1.15.0
chardet 3.0.4
click 6.7
colorama 0.3.7
command-not-found 0.3
cryptography 2.1.4
cupshelpers 1.0
defer 1.0.6
defusedxml 0.7.1
distro-info 0.18ubuntu0.18.04.1
future 0.18.2
httplib2 0.9.2
hyperopt 0.1.2
idna 2.6
jstyleson 0.0.2
keyring 10.6.0
keyrings.alt 3.0
language-selector 0

首先,确保您已经安装了OpenVINO Toolkit和Yolov5模型。然后,按照以下步骤执行模型量化: 1. 从Yolov5的Github仓库中下载yolov5s.pt权重文件。 2. 下载OpenVINO的Model Optimizer,使用以下命令将模型转换为Intermediate Representation(IR)格式: ``` python3 mo.py --input_model yolov5s.pt --model_name yolov5s --input_shape [1,3,640,640] --data_type FP16 --reverse_input_channels ``` 这里我们将模型转换为FP16数据类型,并且输入形状为[1,3,640,640]。 3. 量化模型。我们可以使用OpenVINO的Post-Training Optimization Toolkit(PTQ)来量化模型。首先,需要生成calibration dataset。可以使用COCO 2017 validation dataset中的一部分来生成。 ``` python3 /opt/intel/openvino_2021/deployment_tools/tools/post_training_optimization_toolkit/generate_data.py --validation_dataset /path/to/coco/val2017 --annotations /path/to/coco/annotations/instances_val2017.json --subfolder val2017_subset ``` 这里我们使用COCO 2017 validation dataset,并且将其子集保存在val2017_subset文件夹中。 4. 接下来,我们使用PTQ来量化模型: ``` python3 /opt/intel/openvino_2021/deployment_tools/tools/post_training_optimization_toolkit/quantize.py --model /path/to/yolov5s.xml --data /path/to/calibration/dataset --output /path/to/quantized/model --input_shape [1,3,640,640] --input_name input.1 --output_names output.1 --static_threshold 0.01 --batch 1 --silent ``` 这里我们使用静态阈值的量化方法,并且将量化后的模型保存在quantized文件夹中。 5. 最后,我们可以使用OpenVINO的Inference Engine来运行量化后的模型: ``` python3 /opt/intel/openvino_2021.1.110/deployment_tools/inference_engine/demos/python_demos/object_detection_demo_yolov3_async/object_detection_demo_yolov3_async.py -i /path/to/input/video --model /path/to/quantized/model.xml --device CPU ``` 这里我们使用CPU设备来运行模型,输入视频路径为/path/to/input/video。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值