深度学习中使用的16位浮点数格式

news2024/11/18 14:41:50

深度学习中使用的16位浮点数格式

flyfish

文章目录

  • 深度学习中使用的16位浮点数格式
    • 浮点数是一个近似值
    • 浮点数的表示
    • float单精度类型 和 double双精度类型 的比较
    • 查看所占的字节数
    • 大小端的比较
    • 计算方法
    • 16位 float 半精度格式
    • bflat16格式
    • bflat16格式 与 float32单精度格式 比较

浮点数是一个近似值

浮点类型使用 IEEE-754 表示形式在各种数量级上提供小数值的近似值
浮点数是近似值不是精确值
例如

#include<stdio.h>

int  main() 
{
    float a = 1234.5 ;
    float b = 1234.5678 ;
    printf("%f \n",a);
    printf("%f \n",b);
    return 0;
}
1234.500000 
1234.567749 

浮点数的表示

以32位 float单精度类型 为例
在这里插入图片描述

符号位 sign: 占 1 bit,
指数 exponent: 占 8 bit
尾数 mantissa 或者叫fraction, 占 23 bit

float单精度类型 和 double双精度类型 的比较

在这里插入图片描述

查看所占的字节数

#include <iostream>

using namespace std;

int main()
{
    int a, b, c, d, e, f;
    a = sizeof(char);
    b = sizeof(short);
    c = sizeof(int);
    d = sizeof(float);
    e = sizeof(double);
    f = sizeof(long double);
    
    cout << "char:" << a << endl;
    cout << "short:" << b << endl;
    cout << "int:" << c << endl;
    cout << "float:" << d << endl;
    cout << "double:" << e << endl;
    cout << "long double:" << f << endl;

    return 0;
}
char:1
short:2
int:4
float:4
double:8 
long double:16

大小端的比较

在这里插入图片描述

计算方法

在这里插入图片描述
在这里插入图片描述

16位 float 半精度格式

在这里插入图片描述

bflat16格式

bflat16 是Brain Floating Point
在这里插入图片描述

bflat16格式 与 float32单精度格式 比较

在这里插入图片描述
经过两者比较,bflat16格式可以看做float32 单精度格式 截掉了低16位的结果

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

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

相关文章

手敲MyBatis(十二章)-ResultMap解析映射使用

1.前言 这一章节主要解决好几章之前留下的坑&#xff0c;需要根据XML配置的ReultMap进行解析映射成具体的PO供用户使用。 我们本章就来解决下在xml中配置了如下标红框的内容&#xff0c;怎么解析映射到具体的实体类中&#xff0c;如下就是将id为activityMap的resultMap怎么解…

发送图文并茂的html格式的邮件

本文介绍如何生成和发送包含图表和表格的邮件&#xff0c;涉及echarts图表转换为图片、图片内嵌到html邮件内容中、html邮件内容生成、邮件发送方法等 一、图表处理 因为html格式的邮件不支持echarts,也不支持js执行&#xff0c;所以图表需要转换为图片内嵌在邮件内容中 因为平…

Sui Builder House京都站倒计时!

Sui Builder House京都站将于6月29日-30日举行&#xff0c;为世界各地的开发者提供身临其境地学习和交流的机会。查看Sui Builder House京都站的五个亮点 活动信息 &#x1f4c6; Builder House时间&#xff1a;2023年6月29日 — 6月30日 &#x1f4cd; 活动地址&#xff1a;…

NetSuite OAuth1.0中InvalidSignature问题

本周闭关写代码&#xff0c;用Java通过TBA方式访问NetSuite REST Webservices。由于是手生&#xff0c;卡在InvalidSignature报错上&#xff0c;在这个问题上被卡了一整天。 直到终于到来的Aha时刻。 在NetSuite中的样例代码是PHP的&#xff0c; 我平移到Java后&#xff0c;代码…

【云原生丶Docker】虚拟化技术简介

什么是虚拟化技术&#xff1f; Docker 是一款基于容器虚拟化技术构建的软件&#xff0c;那到底什么虚拟化技术呢&#xff1f;在学习 Docker 之前&#xff0c;先简单了解下虚拟化技术。 虚拟化是云原生的实现基础&#xff0c;它能够帮助我们更加有效地利用物理计算机硬件。 虚…

clip-interrogator本地部署

clip-interrogator本地部署 1. 克隆源码2. 创建虚拟环境及配置3. 下载远程相关文件3.1 下载Salesforce相关文件失败3.2 下载cache相关文件失败3.3 解决库不完整问题 4. 测试代码4.1 脚本一4.2 脚本二4.3 测试run_cli.py文件4.4 测试run_gradio.py文件 源码链接&#xff1a;http…

d3dcompiler_47.dll缺失怎么办?d3dcompiler_47.dll缺失修复方法(详解)

d3dcompiler_47.dll在Windows操作系统和 DirectX应用程序中使用此 DLL 文件,包括游戏&#xff0c;图形处理软件&#xff0c;CAD软件和其他3D应用程序中。如果电脑提示“由于找不到d3dcompiler_47.dll&#xff0c;无法继续执行此代码”&#xff0c;“d3dcompiler_47.dll缺失”&a…

Docker卷与持久化数据

数据主要分为两类&#xff0c;持久化的与非持久化的。 两者都很重要&#xff0c;并且Docker均有对应的支持方式。每个Docker容器都有自己的非持久化存储。非持久化存储自动创建&#xff0c;从属于容器&#xff0c;生命周期与容器相同。这意味着删除容器也会删除全部非持久化数…

网络维护岗位个人求职简历

网络维护岗位个人求职简历1 姓名&#xff1a; 国籍&#xff1a;中国 目前所在地&#xff1a;广州民族&#xff1a;汉族 户口所在地&#xff1a;湖南身材&#xff1a;170cm64kg 婚姻状况&#xff1a;未婚年龄&#xff1a;28 求职意向及工作经历 应聘职位&#xff1a; 工作年限&a…

day14_面向对象的三大特征之一(继承)

继承的概述 Java是对现实社会的模拟&#xff0c;现实中有儿子可以继承父亲的财产&#xff0c;因此有了富二代的。 java中多个类中存在相同属性和行为时&#xff0c;将这些内容抽取到单独一个类中&#xff0c;那么多个类中无需再定义这些属性和行为&#xff0c;只需要和抽取出来…

【Java-SpringBoot+Vue+MySql】项目开发杂记

目录 1、关闭eslint 2、 新建路由 3、安装jQuery依赖-在Vue使用JQuery语法 4、MySQL———数据全部清除&#xff0c;自增归零 5、前后端数据传递——增加功能 6、使用element-ui获取当前表格中的数据——删除功能 1、关闭eslint 2、 新建路由 {path: /user,component: Lay…

LLM - Hugging Face 工程 BERT base model (uncased) 配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131400428 BERT是一个在大量英文数据上以自监督的方式预训练的变换器模型。这意味着它只是在原始文本上进行预训练&#xff0c;没有人以…

RabbitMQ实现延迟消息,RabbitMQ使用死信队列实现延迟消息,RabbitMQ延时队列插件

文章目录 一、什么是延迟消息1、队列的属性2、消息的属性3、什么是死信4、使用死信队列的缺点5、延时消息插件 二、JavaAPI利用死信队列实现RabbitMQ延迟消息1、代码实现2、基本流程 三、JavaAPI利用插件实现RabbitMQ延迟消息1、代码实现2、基本原理 四、Springboot利用死信队列…

5分钟自建可视化平台,在线拖拽组件也太方便了!

一、前言 我们在完成 C 端用户的业务需求时&#xff0c;发现大量电商推广页面的逻辑复杂度和交互程度都比较低&#xff0c;却要消耗大量的开发资源。同时在后台管理系统的开发过程中&#xff0c;我们也发现一些相同套路的页面在不同场景下需要重复开发&#xff0c;即使我们封装…

如何提升企业采购绩效?提高采购绩效的方法

采购是任何企业的一个重要方面&#xff0c;它在确保企业平稳高效运行方面发挥着重要作用。作为一名采购专业人员&#xff0c;你有责任确保你的企业以正确的质量、数量和价格获得所需的货物和服务。 本文将讨论一些最佳做法&#xff0c;这些做法可以帮助你提高采购专业人员的绩…

【032】C++高级开发之多态技术详解(虚函数最全讲解)

C的多态技术&#xff08;虚函数&#xff09;详解 引言一、多态的概念二、虚函数2.1、父类指针保存子类空间地址 带来的问题2.2、虚函数的定义2.3、虚函数的动态绑定机制2.4、重载、重定义、重写的区别 三、纯虚函数3.1、纯虚函数的定义方式3.2、纯虚函数的案例&#xff1a;饮品…

mvnd 安装和 idea配置mvnd

一、mvnd 安装 1、mvnd 下载地址 https://github.com/apache/maven-mvnd 2、安装 解压并配置环境变量到path 打开CMD终端&#xff0c;输入 mvnd -v 看到如下信息提示则安装成功 默认使用的是内置的maven&#xff0c;配置修改&#xff0c;兼容本地的maven 打开 Maven-mvn…

基于Java医院医患管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

如何测试webservice接口

看过网上很多对Web Service的解释&#xff0c;有些文章写得通俗易懂&#xff0c;但是缺少深度解读&#xff1b;有的文章图文并茂&#xff0c;但是没有现成案例&#xff1b;有的文章非常详细&#xff0c;但是没有直观感受。 于是&#xff0c;我想从测试一个web service接口的角…

【复习《剑指Offer》6-12题】【每天40分钟,我们一起用50天刷完 (剑指Offer)】第七天 7/50

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…