使用NCNN的INT8量化方式进行推理

2023-10-27

本文以NCNN框架为例,实践量化在推理中的巨大作用,加深对神经网络量化的理解。NCNN当前版本只支对称量化,下面以INT8精度为例介绍NCNN的量化使用方式:

编译NCNN

mkdir build && cd build && cmake ../

进入到build/tools/darknet目录,将来源于darknet的模型文件和权重文件拷贝一份到这里:

wget -c https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights

转换过程如下:

./darknet2ncnn ./yolov4-tiny.cfg ./yolov4-tiny.weights

优化:

./ncnnoptimize /home/czl/ncnn/ncnn/build/tools/darknet/ncnn.param /home/czl/ncnn/ncnn/build/tools/darknet/ncnn.bin yolov4-tiny-opt.param yolov4-tiny-opt.bin 0

同时,也可以得到MAC算力信息:

生成的优化过的模型如下:

检测实战,未优化的模型推理结果:

优化后的模型推理结果:

这里的yolov4其实就是yolov4-tiny,程序中是可以选择:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用NCNN的INT8量化方式进行推理 的相关文章

随机推荐

  • websocket 携带请求头_深入剖析WebSocket的原理

    前言 针对以上您提起的WebSocket的相关话题 给您做一下系统的梳理 WebSocket是和http类似的可以实现全双工可持久连接通信的应用层协议 以下深入剖析一下WebSocket的原理 什么是WebSocket 首先 我们需要弄明白
  • Kotlin依赖注入框架Koin

    一 简介 Koin是一款轻量级的依赖注入框架 它允许Android应用程序轻松管理组件之间的依赖关系 Koin的主要目标是使依赖注入变得简单 易于理解和使用 它采用纯Kotlin编写 无代理 无需代码生成或反射 而是基于函数式DSL和注解
  • miui删除内置不卡米教程_[MIUI玩机技巧43] Shortcut功能快速提取Apk

    今天Flashcer本期给大家分享2个玩法 1 利用MIUI 11的Shortcut功能快速提取非系统应用的安装包文件 用户应用Apk 2 利用MIUI 11的Shortcut功能快速分享非系统应用的安装包文件 用户应用Apk 通过即时通讯
  • RoaringBitmap和Bitmap的区别与原理

    背景 此文只针对应用于实时数仓 离线数仓领域的标签圈选问题 以企业为例 企业和标签之间一般是多对多的关系 这种情况下对于计算不同标签下的企业数量 或者查询不同企业对应的标签会有较大的性能压力 因此使用Bitmap或者RoaringBitma
  • Python + Pyqt5 使用listWidget设置Item的两种方法

    方法一 addItems 不用分别设置每个Item的显示样式 self ui listWidget pdfList addItems list pdfList DF 文件名 添加Item 列表中有多少个数据 就有多少个Item self u
  • java使用world模板动态生成PDF文件

    根据项目需求 需要用到一个功能 根据页面参数需要动态的生成一个world 并将world生成两份PDF文件 一份正式文件 一份临时的电子文件 带有二维码 扫描可以下载正式文件的电子版本 同时上传到文件存储服务器minio上 下面介绍具体的实
  • Python 生成器原理详解

    点击上方蓝字 快速关注我们 翻译 你逗比 segmentfault com a 1190000011330511 如有好文章投稿 请点击 这里了解详情 这篇文章是对 500 Lines or Less 一书中高效爬虫一章的部分翻译 原文 H
  • 旋转数组的最小值(二分法)

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾 我们称之为数组的旋转 输入一个非减排序的数组的一个旋转 输出旋转数组的最小元素 例如数组 3 4 5 1 2 为 1 2 3 4 5 的一个旋转 该数组的最小值为1 NOTE 给出的所有
  • 一个抓取阿里云GEOJSON地图区域数据的NODEJS脚本

    中国的区域划分大致是这么个结构 中国 gt 省 gt 市 gt 区 gt 县 gt 镇 gt 乡 对于我们一般的开发者或者中小型企业 要我们自己来收集这些区域信息 显然是不可能的 这个时候我们就得借助一些成熟的地图数据 比如百度地图 高德地
  • 增强现实python

    本博文用来记录使用python实现增强现实 增强现实技术 即实时地计算摄影机影像的位置及角度并加上相应图像 视频 3D模型的技术 这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动 主要工作 实现动态的放置虚拟模型 本文实现了在自己上
  • IHS 禁用SSLV2 启用SSLV3

    昨天完成了PCI第二季度的ASV扫描 也扫出几个问题 主是IHS SSL加密比较弱 1 PCI ASV扫描出来的两个问题 1 38140 SSL Server Supports Weak Encryption Vulnerability 2
  • FastReport VCL 6.7.6 For Delphi10.4.2 安装图解教程

    FastReport VCL 6 7 6 For Delphi10 4 2 安装图解教程 Fastreport控件的安装 一步一步按说明来 不难搞 1 先关闭Delphi 2 右键 以管理员身份运行 对应版本的recompile exe 2
  • 图片情感分析(2):图像情感分析模型

    图像情感分析模型是基于卷积神经网络建立的 卷积神经网络的构建用了keras库 具体代码实现以及代码运行在下一篇贴出 模型包括3个卷积层 2个池化层 4个激活函数层 2个Dropout层 2个全连接层 1个Flatten层和最终分类层 图片初
  • Java创建数组的四种方式

    1 使用默认值来初始化 语法 数组元素类型 数组名称 new 数组元素类型 数组长度 EG int nums new int 5 创建了一个类型为int 名字为nums 长度为5的数组 2 先声明一个数组 再给值 语法 数据元素类型 数组名
  • 37 年来首次 FSF 允许非正式会员提名董事会候选人;Linux RamFS 文件系统移植到 Rust;Git 2.35 发布

    整理 宋彤彤 责编 屠敏 开源吞噬世界的趋势下 借助开源软件 基于开源协议 任何人都可以得到项目的源代码 加以学习 修改 甚至是重新分发 关注 开源日报 一文速览国内外今日的开源大事件吧 一分钟速览新闻点 成立 37 年来首次 FSF 允许
  • Spring boot配置logback日志打印到指定路径文件

    在实际项目开发中 一般都是使用log打印日志到指定路径 生成文件 而平时使用的System out pring 只能输出日志到控制台 当我们把项目打成war包部署到服务器上 会有不用的用户使用我们的应用 这个时候如果一个客户端出现了问题 那
  • 断弧图片数据集 数据集扩充 增强

    图像处理可以用到的数据 这是原始图像总共1356张 对应的XML文件是它的标签 此数据可以用来做图像目标检测 YOLOv4 v3 SSD faster rcnn 数据集增广 数据集扩充 数据集增强的常用方法与软件 https blog cs
  • 修改pycharm缓存文件路径

    Pycharm在使用过程中 Pycharm会生成大量缓存文件 而这些缓存文件默认存储在C盘的用户目录里面 导致C盘空间被占用 目标 将C盘用户目录下的 Pycharm2019转移到D盘 D cache pycharm 文件夹下 如下图 解决
  • div设置边角小三角形

    div class leftmsg div div class rightmsg div
  • 使用NCNN的INT8量化方式进行推理

    本文以NCNN框架为例 实践量化在推理中的巨大作用 加深对神经网络量化的理解 NCNN当前版本只支对称量化 下面以INT8精度为例介绍NCNN的量化使用方式 编译NCNN mkdir build cd build cmake 进入到buil