【YOLOv8量化】普通CPU上加速推理可达100+FPS

NNCF介绍

OpenVINO2023版本衍生出了一个新支持工具包NNCF(Neural Network Compression Framework – 神经网络压缩框架),通过对OpenVINO IR格式模型的压缩与量化更好的提升模型在OpenVINO框架上部署的推理性能,github。

https://github.com/openvinotoolkit/nncf

安装NNCF

pip install nncf

NNCF关键特性

训练后压缩算法支持权重压缩与量化,训练时压缩算法支持感知量化、混合精度量化、二值、稀疏、过滤剪枝、运动剪枝等算法。图示如下:
在这里插入图片描述

YOLOv8量化压缩

基于NNCF实现YOLOv8预训练模型的训练后量化压缩(PTQ),实现INT8量化YOLOv8模型生成。首先需要使用YOLOv8命令行工具导出OpenVINO格式模型,命令行如下:

yolo export model=yolov8n.pt format=openvino

然后基于YOLOv8框架的函数构建一个YOLOv8模型对应的COCO数据集的Validator,相关的代码如下:
在这里插入图片描述
官方给出的代码里面是有个ValidatorClass,但是我发现YOLOv8框架早已经不支持,这里其实主要是构建自己的Dataset跟DataLoader而已,简单粗暴的点是可以自己直接构建,就是要写点代码。我发现了YOLOv8框架里面有个DetectionValidator是可以用的,于是我就用这个,然后直接给一个图像文件夹就可以获取dataloader实例了。准备好验证数据以后,就是最后一步了,启动模型INT8量化,相关的代码如下:
在这里插入图片描述
这样就可以完成PTQ量化模型的生成。最后这部分的代码,其实在GITHUB的官方教程上是有说明跟给出的,我这里再贴一下:
在这里插入图片描述
在这里插入图片描述
就是说,实际上针对自定义数据集,你自己构建一个DataLoader即可。
量化版YOLOv8推理测试

基于YOLOv8 INT8量化模型,OpenVINO C++ SDK在不同的部署与加速方式下,最终的测试结果如下:
YOLOv8+OpenVINO2023.1 异步推理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从此,我又相信YOLOv8+OpenVINO了。

特别说明

OpenVINO20023.1版本测试。
学会使用最新版本OpenVINO框架实现模型加速,请看本人新书
《OpenCV应用开发:入门、进阶与工程化实践》
第十五章相关内容!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM- 为什么G1垃圾回收器需要有大对象区

G1(Garbage-First)垃圾回收器在Java虚拟机(JVM)中引入了大对象区(也称为Humongous Region或H-Region)的概念,主要是为了高效地处理大型对象。在垃圾回收的上下文中,大对象指的是那些…

STM32单片机项目实例:基于TouchGFX的智能手表设计(5)硬件驱动层程序设计

STM32单片机项目实例:基于TouchGFX的智能手表设计(5)硬件驱动层程序设计 目录 一、 概述 二、 新建工程与外设配置 三、 TouchGFX配置 四、 增加TouchGFX关键驱动 一、 概述 本文内容主要进行工程新建,硬件外设的配置以及添加…

【Python】—— 如果使用matplotlib做数据可视化

matplotlib做数据可视化 相关知识掌握matplotlib的基本使用方法1. 折线图2. 散点图3. 柱状图4. 饼图5. 直方图6. 等高线图7. 图形定制 掌握数据处理的基本方法1. 数据筛选2. 缺失值处理3. 异常值处理 理解数据可视化的原则和方法1. 选择合适的图表类型2. 避免数据混淆3. 突出重…

【java IO】|java NIO总结

在传统的 Java I/O 模型(BIO)中,I/O 操作是以阻塞的方式进行的。也就是说,当一个线程执行一个 I/O 操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需要为每个连…

Tarjan-割点问题

文章目录 前言割点定义割点的求解割点判定定理证明(非严谨) 算法实现算法流程代码详解 再看SCCOJ练习 前言 之前介绍Tarjan算法求强连通分量时,提到了代码段中对于访问过的邻接点应用其时间戳来更新追溯值,不是说用追溯值更新会导…

结果实例: 一个cpu的parsec结果

简介 限于篇幅限制,很多教程和论文只展示部分结果。我们这里展示非常细节的结果,包括输出的许多命令行结果。 运行命令行 的shell窗口 ./build/X86/gem5.opt -d m5out/onlyoneCPUkvmCheckPointDifferRCS20231218restore \configs/deprecated/example/…

剑指offer题解合集——Week1day3

剑指offerWeek1 周三:二维数组中的查找 题目链接:二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数…

教务系统一键评教

利用浏览器的开发者模式实现“一键评教”,本教程针对金智教务系统 步骤 1、打开教务系统的评教页面。 2、按下键盘快捷键 F12,或者点击鼠标右键打开浏览器的开发者工具,然后选择控制台(Console)。 3、复制以下 Java…

大数据机器学习-梯度下降:从技术到实战的全面指南

大数据机器学习-梯度下降:从技术到实战的全面指南 文章目录 大数据机器学习-梯度下降:从技术到实战的全面指南一、简介什么是梯度下降?为什么梯度下降重要? 二、梯度下降的数学原理代价函数(Cost Function)…

[德人合科技]——设计公司 \ 设计院图纸文件数据 | 资料透明加密防泄密软件

国内众多设计院都在推进信息化建设,特别是在异地办公、应用软件资产规模、三维设计技术推广应用以及协同办公等领域,这些加快了业务的发展,也带来了更多信息安全挑战,尤其是对于以知识成果为重要效益来源的设计院所,防…

vue内容渲染

内容渲染指令用来辅助开发者渲染DOM元素的文本内容。常用的内容渲染指令有3个 1.v-text 缺点:会覆盖元素内部原有的内容 2.{{}}:插值表达式在实际开发中用的最多,只是内容的占位符,不会覆盖内容 3.v-html:可以把带有标…

LeetCode-28. 找到字符串中第一个匹配项的下标

文章目录 KMP 算法基本概念next 数组含义及计算匹配过程 LeetCode-28.找到字符串中第一个匹配项的下标题目描述程序代码 KMP 算法 基本概念 S:文本串P:模式串next 数组:next[i]表示当模式串中第 i 个字符与文本串中某个字符不匹配时&#x…

MySQL表的增删改查(初阶)

CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。且增删改查(CRUD,create,retrieve,update,delete)数据库的核心模块。 1. 新增(Create) 实…

【数据结构】二叉树的模拟实现

前言:前面我们学习了堆的模拟实现,今天我们来进一步学习二叉树,当然了内容肯定是越来越难的,各位我们一起努力! 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:数据结构 👈 &…

vscode ssh连接不上服务器的各种解决办法

超时 可能是因为服务器太慢,等太久而报错,可以将超时时间设置长一些。步骤如下图,我将超时时间改成了60(或者更大,有时候服务器巨卡)。 参考: https://www.jianshu.com/p/0a995acf1a2e 超时&a…

操作系统的界面

(1) 请说明系统生成和系统引导的过程。 解: 系统的生成过程:当裸机启动后,会运行一个特殊的程序来自动进行系统的生成(安装),生成系统之前需要先对硬件平台状况进行检查,或者从指定文件处读取…

CogVLM与CogAgent:开源视觉语言模型的新里程碑

引言 随着机器学习的快速发展,视觉语言模型(VLM)的研究取得了显著的进步。今天,我们很高兴介绍两款强大的开源视觉语言模型:CogVLM和CogAgent。这两款模型在图像理解和多轮对话等领域表现出色,为人工智能的…

A01、关于JVM的GC回收

引用类型 对象引用类型分为强引用、软引用、弱引用,具体差别详见下文描述: 强引用:就是我们一般声明对象是时虚拟机生成的引用,强引用环境下,垃圾回收时需要严格判断当前对象是否被强引用,如果被强引用&am…

35道HTML高频题整理(附答案背诵版)

1、简述 HTML5 新特性 &#xff1f; HTML5 是 HTML 的最新版本&#xff0c;它引入了很多新的特性和元素&#xff0c;以提供更丰富的网页内容和更好的用户体验。以下是一些主要的新特性&#xff1a; 语义元素&#xff1a;HTML5 引入了新的语义元素&#xff0c;像 <article&g…

GaN图腾柱无桥 Boost PFC(单相)九-EMI 滤波器容性电流影响分析

前言 为了防止 PFC 变换器中高频开关谐波对电网产生影响&#xff0c;同时抑制电网中的高频干扰对变换器运行的影响&#xff0c;一般通过在 PFC 变换器与交流电源之间加入EMI 滤波器消除共模干扰和差模干扰&#xff0c;使变换器满足相应的 EMI 标准。在基于GaN 功率器件的图腾柱…