深度探究深度学习常见数据类型INT8 FP32 FP16的区别即优缺点

定点和浮点都是数值的表示(representation),它们区别在于,将整数(integer)部分和小数(fractional)部分分开的点,点在哪里。定点保留特定位数整数和小数,而浮点保留特定位数的有效数字(significand)和指数(exponent)

1.FP与INT

FP代表浮点运算数据格式,包括双精度FP64 单精度FP32 半精度FP16和FP8

INT代表整数数据格式,包括INT8和INT4

后面的数字越高意味着精度越高能够支持的运算复杂度也就越高 适配场景也就越广,同样对推理端的计算资源要求也就越高;

2.FP64、FP32、FP8 和INT8、INT4 

双精度FP64 :浮点数使用64位表示,提供更好的精度和动态范围。通常应用在高精度计算的场景中,对存储空间以及计算资源要求较多  通常较少使用

单精度FP32:浮点数使用32位表示,适用于大多数科学计算和通用计算任务。通常我们训练神经网络模型的时候默认使用的数据类型为单精度FP32

半精度FP16:浮点数使用16位表示。相对于FP32提供了较低的精度,按照理论来说可以跑机器学习这些任务,但是FP16会出现精度溢出和舍入误差,所以很多应用都是使用混合精度计算的也就是FP16+FP32模式

浮点数在高精度图像处理有较大优势能够使图片中更多颜色、对比度、质感和清晰度得以保留。

但INT类型速度更快

  • 第一部分为 sign 符号位 s,占 1 bit,用来表示正负号;
  • 第二部分为 exponent 指数偏移值 k,占 5 bits,用来表示其是 2 的多少次幂;
  • 第三部分是 fraction 分数值(有效数字) M,占 10 bits,用来表示该浮点数的数值大小。

固定点数INT8:固定点数使用固定的小数点位置来表示数值,可以使用定点数算法进行计算。相对于浮点数计算,算力和内存资源要求更低。


 

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

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

相关文章

离散时间系统模型

离散时间系统模型 离散时间系统模型是表示数字滤波器的方案。MATLAB 科学计算环境支持若干种离散时间系统模型,这些模型将在以下章节中介绍: ​传递函数零极点增益状态空间部分分式展开式(残差形式)二阶节 (SOS)格型结构体卷积矩…

初始MySQL(二)(表的增删查改)

目录 修改表 CRUD(增删改查) insert语句(表中增加数据) update语句(修改表中的数据) delete删除语句 select语句 修改表 添加列 ALTER TABLE tablename ADD (column datatype [DEFAULT expr] [, column datatype] ...); 修改列 ALTER TABLE tablename MODIFY (column …

【大模型】大语言模型语料下载

文章目录 概述Hugging Faceobs操作git-lfs例子RedPajama-Data-1TSlimPajama-627B/git clone续传 数据格式参考资料 概述 大模型训练中语料是非常重要的,目前公网上有各种各样的语料可以供下载,但是不可能每个用户、每次训练任务都通过公网去拉取语料&am…

STL简介+浅浅了解string——“C++”

各位CSDN的uu们好呀,终于到小雅兰的STL的学习了,下面,让我们进入CSTL的世界吧!!! 1. 什么是STL 2. STL的版本 3. STL的六大组件 4. STL的重要性 5. 如何学习STL 6.STL的缺陷 7.为什么要学习string类 …

人物百科怎么创建?教你如何创建人物百度百科注意以下方式技巧!

百科就像互联网上的名片,不仅代表身份,而且拥有极高的可信度。因此,许多名人都希望利用百科提高自己的知名度。任何人都可以编辑人物百科词条,但为了成功上传,需要一些技巧。以下是小媒同学给大家带来的人物百科快速创…

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑 引言 在最新的消息中,JetBrains团队宣布Kotlin Multiplatform(KMP)将于2023年10月稳定发布。这一消息对于广大开发者来说毫无疑问是一个令人振奋的消息。KMP的正式生…

关于pip basicsr,facexlib,realesrgan et al.安装报错。

首先basicsr是一个超分的库,在ubuntu系统上pip时会报错。 上图这种错误,或者其他的错误,有的方法让去github上安装,那种方法到setup.py的时候也会报错。 问题在于首先 -i的源要换成阿里的源,然后要安装他要求的库&…

【Git】gui图形化界面的使用、ssh协议以及idea集成Git

目录 gui图形化界面的使用 介绍 特点 gui图形的使用 ssh协议 介绍 步骤及概念 ssh协议的使用 配置公钥 idea集成Git idea配置git IDEA安装gitee IDEA中登入Git ​编辑 项目分享 克隆分享的项目 ​编辑 ​编辑 idea上传远程 gui图形化界面的使用 介绍 GUI&#xff08…

消息队列之初识Rabbit及安装

文章目录 一、MQ的相关概念1.什么是MQ?2.为什么要用MQ2.1流量消峰2.2应用解耦2.3异步处理 3.MQ 的分类3.1.ActiveMQ3.2.Kafka3.3.RocketMQ3.4.RabbitMQ 4.MQ 的选择4.1.Kafka4.2.RocketMQ4.3.RabbitMQ 二、RabbitMQ的相关概念1.四大核心概念2.RabbitMQ 核心部分3.Ra…

Flutter 实战:构建跨平台应用

文章目录 一、简介二、开发环境搭建三、实战案例:开发一个简单的天气应用1. 项目创建2. 界面设计3. 数据获取4. 实现数据获取和处理5. 界面展示6. 添加动态效果和交互7. 添加网络错误处理8. 添加刷新功能9. 添加定位功能10. 添加通知功能11. 添加数据持久化功能 《F…

基于springboot实现沁园健身房预约管理系统【项目源码】计算机毕业设计

基于springboot实现沁园健身房预约管理系统演示 B/S架构 B/S结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以…

JS+ES6新增字符串方法大汇总,爆肝,共四十七种方法(求个赞,哈哈)

让我为大家介绍一下字符串的操作方法吧,你知道与不知道的大部分都在这! 分类可能有点不太对,还请大家见谅! 增 1.concat() 拼接字符串 可以连接两个或多个字符串 let str "hello"let str1 " str"console…