[发明专利]一种浮点数转换方法及装置有效
申请号: | 202010111088.X | 申请日: | 2020-02-24 |
公开(公告)号: | CN111313905B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 王中风;徐铭阳;方超;林军 | 申请(专利权)人: | 南京大学 |
主分类号: | H03M7/24 | 分类号: | H03M7/24 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 浮点 转换 方法 装置 | ||
本发明公开了一种浮点数转换方法及装置,能够将基于IEEE 754规范的单精度浮点数转换为posit数据格式的浮点数,即第二浮点数。在很多神经网络的训练过程中,其运算数据近似服从正态分布,可通过变换使数据集中在0附近,而本发明中的posit数据格式的浮点数在神经网络训练过程中就可以在0附近保证精度,并且,本发明中posit数据格式的浮点数的预设总位宽是可以调控的,因此又可以很大程度的减少数据位宽,进而减少存储所需要的资源以及读写过程所消耗的资源,提高神经网络训练的效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种浮点数转换方法及装置。
背景技术
神经网络一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。近年来,随着深度学习技术的快速发展,神经网络的训练变得普遍并且重要,神经网络训练的速度和资源消耗也成为了对于深度学习评价的重要指标。
在以往的神经网络训练过程中,大部分的浮点数使用的都是基于IEEE 754规范的规格化单精度浮点数格式,这种数据格式通常包括符号段、指数段和尾数段,并且通常使用32位的位宽来表示,即符号段、指数段和尾数段的总位宽为32位。这种单精度浮点数可以表示一个很大范围的数值,同时也能满足神经网络训练的要求。
但是,虽然上述这种基于IEEE 754规范的单精度浮点数在精度上能够满足神经网络训练的要求,但是由于其位宽较长,在处理这种数据时需要耗费一定的时间并且消耗一定的资源,进而影响神经网络的训练速度,使神经网络训练的效率降低。
发明内容
本发明提供了一种浮点数转换方法及装置,以解决目前使用基于IEEE 754规范的单精度浮点数造成的神经网络训练的效率低的问题。
第一方面,本发明提供了一种浮点数转换方法,包括:
分别获取第一浮点数中第一符号段的值、第一指数段的值和第一尾数段的值,所述第一浮点数为规格化数据格式的单精度浮点数;
利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值;
利用所述第一符号段的值和所述第一尾数段的值,分别确定第二符号段的值和第二尾数段的值;
将所述第二符号段的值、所述组织段的值、所述第二指数段的值和所述第二尾数段的值以二进制码的形式按照预设总位宽组成第二浮点数。
结合第一方面,在第一方面的一种可实现方式中,利用所述第一指数段的值和预设指数位宽,确定组织段的值和第二指数段的值的步骤包括:
利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值;
利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值。
结合第一方面,在第一方面的一种可实现方式中,采用如下公式,利用所述第一指数段的值和所述预设指数位宽,确定所述组织段的值:
r=[E/2es],
其中,r表示组织段的值,并且,当r为非整数时,r值向下取整;E表示第一指数段的值,es表示预设指数位宽。
结合第一方面,在第一方面的一种可实现方式中,采用如下公式,利用所述第一指数段的值、所述预设指数位宽和所述组织段的值,确定所述第二指数段的值:
e=E-2es*r,
其中,e表示第二指数段的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010111088.X/2.html,转载请声明来源钻瓜专利网。