The invention discloses a floating-point fixed-point method comprises the following steps: according to the preset value range and the precision of calculation needs, adjust the index data precision floating point and effective, in advance of converting parameters of single precision floating point format data for adjustable precision floating point data; calculation of the adjustable the data is converted to floating-point and fixed-point data for calculation, and the calculation result of the intermediate conversion adjustable precision floating-point data; the calculation after the completion of the final results, the final result is converted to single precision floating-point data format. The invention can use 16 bit or smaller width of said standard floating-point data, realize fixed-point floating-point conversion, so as to save storage space and improve operational performance, and almost does not affect the calculation accuracy.
【技术实现步骤摘要】
浮点运算定点化方法及系统
本专利技术涉及可编程处理器,尤其涉及了一种浮点运算定点化方法及系统。
技术介绍
目前,由于深度学习算法的不断进步,人工智能技术取得了巨大突破。在深度学习中,机器可以在监督或不受监督的方式下从大量数据中学习一项任务。大规模监督式学习已经在机器视觉、语音识别、自然语言处理等应用领域取得成功。而人工神经网络(ArtificialNeuralNetwork)目前在深度学习领域应用最为广泛,用神经网络识别和分类需要进行大量的浮点运算,因此计算硬件已成为目前神经网络应用中最主要的瓶颈。而且随着计算数据量的大幅增加,深度学习转移到云平台时,对负责神经网络运算的硬件性能提出了更高的要求。在神经网络运算方面,业内通常采用高性能GPU(GraphicsProcessingUnit,图形处理器)来提升计算效率,并取得了显著的加速效果,但GPU在带来高性能计算的同时存在高功耗的缺点,使其在应用环境上有所限制。相比GPU,FPGA(FieldProgrammableGateArray,可编程逻辑门阵列)可以在较低功耗下实现并行处理和计算,并能灵活实现各种不同的神经网络架构,作为一种既能加速算法又能不显著增加功耗的计算平台在神经网络加速计算方面适用于更多的应用场合,特别是当应用在数据中心时有其独特优势。单精度浮点数为IEEE标准754浮点数格式之一。IEEE标准754采用{S,E,M}表示一个浮点数N,N的实际值n由公式n=(-1)s×1.m×2e表示。N,S,E,M采用二进制表示,n,s,e,m分别为N,S,E,M对应的实际数值。S表示N的符号位。对应值s ...
【技术保护点】
一种浮点运算定点化方法,其特征在于包括以下步骤:根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。
【技术特征摘要】
1.一种浮点运算定点化方法,其特征在于包括以下步骤:根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。2.根据权利要求1所述的浮点运算定点化方法,其特征在于:所述可调精度浮点数据包括符号、指数和有效数;所述可调精度浮点数据的指数的位宽和有效数的位宽随所述数值范围和所述精度要求的变化做相应调整。3.根据权利要求2所述的浮点运算定点化方法,其特征在于:所述将单精度浮点格式的参数数据转换为可调精度浮点数据的具体步骤包括:单精度浮点数据定点化,将含有小数的单精度浮点数据乘以系数后转换为定点整数;将转换后的定点整数表示为二进制数,并根据可调精度浮点数据有效数所支持的位宽对此二进制定点整数向右移位,移位后的数据即有效数,并根据移位的位数确定指数,将有效数添加上指数和符号位后即为可调精度浮点数据。4.根据权利要求2所述的浮点运算定点化方法,其特征在于:所述将所述可调精度浮点数据转换为定点数据的具体步骤包括:根据所述可调精度浮点数据的指数大小对所述可调精度浮点数据的有效数向左移位,移位的位数由指数确定;移位后判断符号位,如果是负数将移位后的数据采用补码表示。5.根据权利要求1所述的浮点运算定点化方法,其特征在于:所述根据预设的数值范围以及计算的精度需求的具体设置过程为:将神经网络模型训练好的参数数据进行归纳分析,确定参数数据的最大值和最小值,并对神经网络模型中的单精度浮点格式数据进行模拟计算得到计算结果,根据计算结果确定数值范围以及计算的精度要求,为可调精度浮点数据转换过程中的指数和有效数的调整提供依据。6.一种浮点运...
【专利技术属性】
技术研发人员:丁昊杰,王文华,
申请(专利权)人:杭州菲数科技有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。