相关文章推荐
聪明的橙子  ·  Unemployment Rate ...·  4 月前    · 
冷静的脆皮肠  ·  2021-08-02 Unity和OC交互 ...·  12 月前    · 
高大的柳树  ·  百年中国共产党与中国宪法的发展历程_中国人大网·  1 年前    · 
烦恼的手术刀  ·  梵悦108唯一联系电话-梵悦108售楼信息发 ...·  1 年前    · 
想发财的遥控器  ·  iOS 动态更新App图标和App内评分 - 简书·  2 年前    · 
Code  ›  【YOLOv5】【模型压缩与加速】【量化】FP32、FP16、INT8开发者社区
量化分析 量化管理 云存储 量化模型
https://cloud.tencent.com/developer/article/2357423
豪爽的炒面
1 年前
叶茂林

【YOLOv5】【模型压缩与加速】【量化】FP32、FP16、INT8

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
叶茂林
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 【YOLOv5】【模型压缩与加速】【量化】FP32、FP16、INT8

【YOLOv5】【模型压缩与加速】【量化】FP32、FP16、INT8

作者头像
叶茂林
发布 于 2023-11-13 09:16:32
1K 0
发布 于 2023-11-13 09:16:32
举报
文章被收录于专栏: 叶子的开发者社区 叶子的开发者社区

量化是将模型参数的存储类型从高精度存储降到低精度存储,从而达到减小模型体积大小、加快模型推理速度的效果。

FP32量化

这个直接使用yolov5的export导出32位存储的 engine格式模型即可

代码语言: javascript
复制
python export.py --weights runs/train/exp4/weights/best.pt --include onnx engine --device 0

可以看到32位浮点型模型的onnx大小为7.1MB,engine大小为9.5MB。

然后我们用32位的engine模型进行推理

代码语言: javascript
复制
python detect.py --weights runs/train/exp4/weights/FP32.engine --source ikunData/images

其每张照片的推理速度为4.9ms,比我们用原模型推理的速度要快上一倍(9.5ms)。

32位engine模型的检测效果如下图所示。

FP16量化

代码语言: javascript
复制
python export.py --weights runs/train/exp4/weights/best.pt --include onnx engine --half --device 0

从32位浮点型转为16位浮点型的onnx模型大小减小了一半,从7.1MB减小到了3.6MB,其engine模型大小从9.5MB减小到了6.1MB,模型压缩效果模型。

再看看16位的模型加速效果

代码语言: javascript
复制
python detect.py --weights runs/train/exp4/weights/FP16.engine --source ikunData/images

此时的模型已经从32位的4.9ms推理速度提高到了2.3ms,加速效果明显。

与之同时,16位模型的检测效果却与32位的效果基本一样,在模型体积减小,推理速度加快的情况下,能够达到检测效果基本一样,说明16位量化效果十分成功。

INT8量化

我们还可以进一步量化,我们可以将模型量化为int8位存储,但是由于yolov5自带的export的int8导出效果好像并不好,因此int8量化要复杂一下。

我们首先拿到onnx格式的模型,这个我们在FP32量化的时候已经拿到了,在网上搜罗了一番,勉强可以找到一个将onnx转换为int8存储的engine的代码,但是由于这个代码有点年份了,使用到的TensorRT的版本老了,新的TensorRT已经不支持一些属性。

于是,经过一晚上加一下午代码的愉悦修改

具体请看 【yolov5】onnx的INT8量化engine-CSDN博客

终于把代码给改对了,最后拿到的模型大小只有4MB。

但是int8的推理速度和FP16的差不多。

Int8目标检测的效果也要差上一些,从图中可以看到有些鸡没有被检测到,可见改用int8存储后的模型精度要差上一些。

本文参与 腾讯云自媒体分享计划 ,分享自作者个人站点/博客。
原始发表:2023-11-12, 如有侵权请联系 cloudcommunity@tencent.com 删除
存储
博客
量化
模型
压缩

本文分享自 作者个人站点/博客 前往查看

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

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

存储
博客
量化
模型
压缩
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
推荐阅读
LV.
文章
0
获赞
0
目录
  • FP32量化
  • FP16量化
  • INT8量化
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
免费体验 产品介绍 产品文档
COS新用户专享存储包低至1元,新老同享存储容量低至0.02元/GB/月,立即选购!
领券
  • 社区

    • 专栏文章
    • 阅读清单
    • 互动问答
    • 技术沙龙
    • 技术视频
    • 团队主页
    • 腾讯云TI平台
  • 活动

    • 自媒体分享计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2024 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
聪明的橙子  ·  Unemployment Rate (UNRATE) | FRED | St. Louis Fed
4 月前
冷静的脆皮肠  ·  2021-08-02 Unity和OC交互 1_unity 传字典到 oc-CSDN博客
12 月前
高大的柳树  ·  百年中国共产党与中国宪法的发展历程_中国人大网
1 年前
烦恼的手术刀  ·  梵悦108唯一联系电话-梵悦108售楼信息发布-梵悦108欢迎购房者来电_项目_北京_阳光城
1 年前
想发财的遥控器  ·  iOS 动态更新App图标和App内评分 - 简书
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号