首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用NNCF(神经网络压缩框架)量化与压缩YOLO11

使用NNCF(神经网络压缩框架)量化与压缩YOLO11

作者头像
OpenCV学堂
发布2026-04-02 19:32:00
发布2026-04-02 19:32:00
1140
举报
NNCF介绍与安装

NNCF提供了一系列的训练时量化与训练后量化神经网络的接口支持,支持ONNX、OpenVINO、Pytorch等多种模型格式的压缩与量化。同时NNCF不光支持CNN系列模型的压缩与量化,还支持大模型(包含LLM与VLM)压缩与量化转换。

训练后压缩量化支持以下算法:

从中可以看出,先把模型转换为OpenVINO的IR格式以后会比直接用ONNX格式模型获取更多压缩算法支持,比如:权重压缩支持。

训练时压缩与量化支持算法:

推荐版本第三方依赖版本:

代码语言:javascript
复制
pytorch2.6
openvino2025.1
opencv-python4.10

安装NNCF

代码语言:javascript
复制
pip install nncf

模型量化与压缩

训练后量化(PTQ)YOLO系列INT8

这里以YOLO11为例,实现自定义YOLO11对象检测模型的训练后量化,通过PTQ在维持精度的同时大幅提升推理速度。PTQ 是最简洁的INT8量化方法,只需要模型和一个小的 (~300 个样本) 校准数据集即可实现对模型的INT8量化。对训练后的模型转为IR格式以后用,OpenVINO的NNCF框架把模型量化为INT8模式。PTQ的量化代码如下:

运行结果:

这样就实现了PTQ量化,得到模型会比原来的FP32推理速度快1.2~1.5倍左右。

模型权重压缩

OpenVINO、Pytorch格式支持直接读取然后转换为INT8权重压缩格式实现模型量化,从而加速推理性能,权重压缩量化支持对称与非对称模式,支持INT8与INT4模式。还是以YOLO11为例,

权重压缩INT8对称模式:

权重压缩INT8非对称模式

运行对比

代码语言:javascript
复制
CPU 酷睿i7 11th

直接同步推理模式下:

使用FP32的流水线异步推理

使用INT8量化版本的YOLO11流水线异步推理

这波OpenVINO又能打了,事实证明 部署YOLO系列的模型只用CPU足够了!

玩转YOLOv8通杀YOLO系列所有模型!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档