CN107451658A - 浮点运算定点化方法及系统 - Google Patents
浮点运算定点化方法及系统 Download PDFInfo
- Publication number
- CN107451658A CN107451658A CN201710606500.3A CN201710606500A CN107451658A CN 107451658 A CN107451658 A CN 107451658A CN 201710606500 A CN201710606500 A CN 201710606500A CN 107451658 A CN107451658 A CN 107451658A
- Authority
- CN
- China
- Prior art keywords
- data
- floating
- point
- adjustable accuracy
- converted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
本发明公开了一种浮点运算定点化方法,包括以下步骤:根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。本发明可以用16位位宽或是更小的位宽表示标准浮点数据,实现浮点运算定点化的转换,从而节省存储空间和提升运算性能,且几乎不影响计算精度。
Description
技术领域
本发明涉及可编程处理器,尤其涉及了一种浮点运算定点化方法及系统。
背景技术
目前,由于深度学习算法的不断进步,人工智能技术取得了巨大突破。在深度学习中,机器可以在监督或不受监督的方式下从大量数据中学习一项任务。大规模监督式学习已经在机器视觉、语音识别、自然语言处理等应用领域取得成功。而人工神经网络(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满足:n>0时,s=0;n<0时,s=1。E表示N的指数位,位于S和M之间的若干位。对应值e值也可正可负。M表示N的有效数位,它位于N末尾,为有效数的小数部分。有效数为1.m,1为隐含位是多出来的1位精度。对于单精度浮点数,E的位宽为8位,M的位宽为23位,总共32位;对于半精度浮点数,E的位宽为5位,M的位宽为10位,总共16位。关于浮点数的详细说明参见IEEE标准754,在此不再赘述。
神经网络的识别分类需要进行大量的浮点运算,但是相比GPU,目前FPGA的浮点计算资源主要是支持浮点运算的DSP(DigitalSignalProcessor,数字信号处理器)数量有限,使其在计算性能上并不占优势。同时由于神经网络一般使用单精度浮点格式表示数据,单精度浮点数据的位宽达到32位,虽然精度较高,但使FPGA在和DDR读写数据时效率较低,并使FPGA需要使用较多的逻辑资源用于浮点数据的传输处理以及较多的RAM资源用于浮点数据的存储,资源占用较多不利于FPGA的时序收敛,会导致FPGA的性能受限以及产生更大的功耗。以上的这些问题都会导致FPGA在进行浮点运算时性能较低。
目前在深度学习领域有一种采用较小位宽的定点数据的优化方法,这种方法由于数据降低到了比较小的位宽例如8位,能够提升数据的传输存储效率、降低资源消耗以及提升计算性能,但是只能针对特定的神经网络,其网络参数需要专门的训练,对于一般已有的采用浮点数据运算的神经网络无法满足计算精度要求,会引起神经网络的识别分类结果产生较大偏差。
发明内容
本发明针对现有技术中采用标准浮点数据运算的神经网络无法满足计算性能要求这个缺点,提供了一种浮点运算定点化方法及系统。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种浮点运算定点化方法,包括以下步骤:
根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;
计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;
待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。
作为一种可实施方式,所述可调精度浮点数据包括符号、指数和有效数;
所述可调精度浮点数据的指数的位宽和有效数的位宽随所述数值范围和所述精度要求的变化做相应调整。
作为一种可实施方式,所述将单精度浮点格式的参数数据转换为可调精度浮点数据的具体步骤包括:
单精度浮点数据定点化,将含有小数的单精度浮点数据乘以系数后转换为定点整数;
将转换后的定点整数表示为二进制数,并根据可调精度浮点数据有效数所支持的位宽对此二进制定点整数向右移位,移位后的数据即有效数,并根据移位的位数确定指数,将有效数添加上指数和符号位后即为可调精度浮点数据。
作为一种可实施方式,所述将所述可调精度浮点数据转换为定点数据的具体步骤包括:
根据所述可调精度浮点数据的指数大小对所述可调精度浮点数据的有效数向左移位,移位的位数由指数确定;
移位后判断符号位,如果是负数将移位后的数据采用补码表示。
作为一种可实施方式,所述根据预设的数值范围以及计算的精度需求的具体设置过程为:
将神经网络模型训练好的参数数据进行归纳分析,确定参数数据的最大值和最小值,并对神经网络模型中的单精度浮点格式数据进行模拟计算得到计算结果,根据计算结果确定数值范围以及计算的精度要求,为可调精度浮点数据转换过程中的指数和有效数的调整提供依据。
一种浮点运算定点化系统,包括:
第一转换模块,用于根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;
第二转换模块,用于计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;
第三转换模块,用于待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。
作为一种可实施方式,所述第一转换模块设置为:
所述可调精度浮点数据包括符号、指数和有效数;
所述可调精度浮点数据的指数的位宽和有效数的位宽随所述数值范围和所述精度要求的变化做相应调整。
作为一种可实施方式,所述第一转换模块设置为:
所述将单精度浮点格式的参数数据转换为可调精度浮点数据的具体步骤包括:
单精度浮点数据定点化,将含有小数的单精度浮点数据乘以系数后转换为定点整数;
将转换后的定点整数表示为二进制数,并根据可调精度浮点数据有效数所支持的位宽对此二进制定点整数向右移位,移位后的数据即有效数,并根据移位的位数确定指数,将有效数添加上指数和符号位后即为可调精度浮点数据。
作为一种可实施方式,所述第二转换模块设置为:
根据所述可调精度浮点数据的指数大小对所述可调精度浮点数据的有效数向左移位,移位的位数由指数确定;
移位后判断符号位,如果是负数将移位后的数据采用补码表示。
作为一种可实施方式,所述第一转换模块设置为:
将神经网络模型训练好的参数数据进行归纳分析,确定参数数据的最大值和最小值,并对神经网络模型中的单精度浮点格式数据进行模拟计算得到计算结果,根据计算结果确定数值范围以及计算的精度要求,为可调精度浮点数据转换过程中的指数和有效数的调整提供依据。
本发明由于采用了以上技术方案,具有显著的技术效果:
本发明提供了一种浮点运算定点化方法和系统,降低转换过程和计算过程中的误差和降低最终结果的精度损失;同时用较小的位宽来表示数据,降低了用于数据存储的资源占用以及提升传输数据的效率,从而实现在不明显影响计算精度的情况下显著提升浮点运算性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的整体流程示意图;
图2是本发明的整体结构示意图;
图3是本发明的可调精度浮点数格式示意图;
图4是图1中的定点运算过程示意图;
图5是采用本发明的方法实现的神经网络运算结构框图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
示例性方法:
一种浮点运算定点化方法,如图1所示,包括以下步骤:
S1、根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;
S2、计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;
S3、待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。
在此,需要讲述的是,参数数据是指:神经网络模型经过训练得到的参数数据,并且用于后续计算的数据。也就是说,整篇发明是对此参数数据进行转换的。
以下实施例都是基于本发明的示例性方法展开的,都不会脱离本发明示例性方法的保护范围。
实施例1
一种浮点运算定点化方法,包括以下步骤:
S1、根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;
S2、计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;
S3、待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。
在一般的神经网络系统中,都是采用单精度浮点格式的数据进行运算,参与计算的网络模型参数数据和需要识别分类的输入的图像数据位宽均为32位,由于参与计算的网络模型参数数据提前已知,为提升传输效率预先将这部分数据转换为位宽较小(16位)或者更小位宽的可调精度浮点格式数据。
在实际的神经网络模型中,参数数据均为有限范围内的小数,首先要对浮点数进行定点化,即将浮点数据转换为定点整数,方法为将小数乘以一个系数k,此系数按步骤一所确定的精度要求进行调整,此系数越大,小数转换为定点整数的精度越高,并且定点运算后的最终结果与浮点运算相比误差越小,但此系数越大,会导致中间结果的数值较大,底层实现时会耗费更多资源,所以此系数数值需要根据实际应用的要求采用合适的数值。
定点整数的有效数据位宽大小不一,需进行转换统一到相同的16位位宽。对于位宽较大的数据,需要进行位宽的压缩,方法是对有效数据进行移位,并用较少的位数表示较大的移位位数,例如用2位的数据表示移位,数值为1代表右移3位,数值为2代表右移6位,数值为3代码右移9位,相当于使用最多2位的新数据代替了原数据最多9位的数据。在使用和标准半精度浮点数相同的数据位宽情况下有利于FPGA使用较少的逻辑资源实现定点数据的转换,和标准浮点数类似,其包括符号、指数和有效数三部分,并且可根据步骤S1评估的数值范围和精度要求的不同,可相应调整指数和尾数的位宽以满足不同的神经网络运算要求。那么,请看下面实施过程,重点介绍可调精度浮点数据,在本发明中,采用可调精度浮点数据是因为可以用16位位宽数据或者更小的位宽数据表示更大位宽的数据,计算时不能用可调精度浮点数据直接计算,需要转换为定点数据送入定点DSP才能计算。
更进一步地,在本实施例中,所述可调精度浮点数据包括符号、指数和有效数;
所述可调精度浮点数据的指数的位宽和有效数的位宽随所述数值范围和所述精度要求的变化能做相应地调整。
也就是说,其实,此类可调精度浮点数据和标准浮点数类似,如图3所示,包括符号、指数和有效数三部分,并且可根据步骤S1评估的数值范围和精度要求的不同,可相应调整指数和有效数的位宽以满足不同的神经网络运算要求。但是,可调精度浮点数据在使用和标准半精度浮点数相同的数据位宽的情况下具有更高的精度,并有利于FPGA使用较少的逻辑资源实现定点数据的转换。
本实施例中,所述的可调精度浮点数具有为以下情况:
1、可调精度浮点数据的符号位与标准浮点数含义相同,符号位S为0代表正数,S为1代表负数;
2、可调精度浮点数据的指数每增加1代表原数据的二进制数在向可调精度浮点数据的转换过程中有效数右移了一定位数t,即数值大小除以2的t次方,按照实际数值范围和精度的需求,移动的位数t可以进行自定义;
3、指数后为定点整数移位后的有效数。
可调精度浮点数据N={S,E,M}代表的实际数值为n=(-1)s×m×2t×e,S、E、M分别为符号、指数、有效数的二进制表示,s、e、m、t为十进制表示的实际数值。因此可调精度浮点数据所能表示的数值为[-1×m×2t×e,m×2t×e]之间的整数。定点整数转换为可调精度浮点数据的过程就是把某个数值在[-1×m×2t×e,m×2t×e]之间的整数转换为{S,E,M}所表示的N的过程。
更进一步地,所述将分析后的浮点数据转换成可调精度浮点数据的具体步骤包括:
单精度浮点数据定点化,将含有小数的浮点数据转换为定点整数;
将转换后的定点整数表示为二进制数,并根据可调精度浮点数据有效数的位宽对二进制数进行移位,移位之后确立符号位,确立好符号位之后采用十六进制表示,形成可调精度浮点数据。在此,确立符号位之后采用的十六进制表示只是数据的表示方法,也就是说,也可以采用二进制表示方法进行表示,本事例中只是采用了用十六进制表示,当然,也能用二进制表示。表示成二进制或十六进制都可以为本发明中的可调精度浮点数据。
下面以具体实例来讲是如何将分析后的浮点数据转换成可调精度浮点数据的。
举一个具体的实例来详细说明这个转换步骤:
下面以浮点数-15.712为例来说明,单精度浮点数到可调精度浮点数据的转换,过程如下:
第一步:单精度浮点数据定点化,将含有小数的浮点数据转换为定点整数;即单精度浮点数据-15.712乘以系数4096等于-64356.352,经过四舍五入取整为-64356;
第二步,将转换后的定点整数表示为二进制数,并根据单精度浮点数据有效数的位宽对二进制数进行移位,移位之后确立符号位,确立好符号位之后采用十六进制表示,形成可调精度浮点数据,简单的说就是:将转换后整数用二进制表示,并根据位宽进行移位:-64356的绝对值64356用二进制表示为(1111101101100100)B,位宽为16位,超出了有效数13位的位宽,因此需要进行移位,由于只需要向右移位3位就能将位宽降低到有效数的位宽,因此确定指数E为1,用2位的二进制表示为(01)B,移位后的有效数为(1111101101100)B,由于为负数,因此符号位S为(1)B,因此用半精度浮点格式表示的64356为(1011111101101100)B,用十六进制表示为(BF6C)H,经过上述步骤,浮点数-15.712转换为16位的(BF6C)H。
同样以单精度浮点数-15.712为例说明浮点数到可调精度浮点数据的另一种转换,转换过程如下:
第一步,数据定点化,将小数转换为定点整数:-15.712乘以系数8192等于-128712.704,经过四舍五入取整为-128713;
第二步,将转换后的定点整数表示为二进制数,并根据单精度浮点数据有效数的位宽对二进制数进行移位,移位之后确立符号位,确立好符号位之后采用十六进制表示,形成可调精度浮点数据,简单的说就是:将转换后整数用二进制表示,并根据位宽进行移位:-128713的绝对值128713用二进制表示为(11111011011001001)B,位宽为17位,超出了有效数12位的位宽,因此需要进行移位,需要向右移位6位刚好将位宽降低到有效数的位宽范围内,因此确定指数E为3即(011)B,移位后的有效数为(011111011011)B,由于为正数,因此符号位S为(1)B,因此用半精度浮点格式表示的128713为(1011011111011011)B,用十六进制表示为(B7DB)H,经过上述步骤,浮点数-15.712转换为16位的(B7DB)H。
本发明中单精度浮点数转换为可调精度浮点数据的转换方法并不限于上述示例,也可根据实际应用需要对转换过程中涉及的指数位数、有效数位数、指数移位位数和小数转换为整数的系数等进行自定义调整。
单精度浮点数转换为16位位宽的可调精度浮点数后位宽减小一半,因此FPGA或其它神经网络运算芯片和DDR内存交互时数据传输的效率提升了一倍,特别地,在使用FPGA作为神经网络运算芯片时传输使用的逻辑资源和存储使用的RAM资源减少了一半。
更进一步地,将所述可调精度浮点数据转换成定点数据的具体步骤包括:
根据所述可调精度浮点数据的指数大小对所述可调精度浮点数据的有效数向左移位,移位的位数由指数确定;
移位后判断符号位,如果是负数将移位后的数据采用补码表示。
更具体的讲,在FPGA或其它神经网络运算芯片内部将可调精度浮点数据送入到定点DSP进行运算前需要将可调精度浮点还原为定点数据,需要根据符号、指数对有效数进行处理,转换为定点数据,即为S3中定点整数转换为可调精度浮点数据的逆向转换,步骤如下:
第一步:根据所述可调精度浮点数据的指数大小对所述可调精度浮点数据的有效数进行移位,以上述结果为例,可调精度浮点数据(BF6C)H指数为1,因为指数移位位数为3,所以对有效数(1F6C)H左移3位变为(FB60)H。
第二步:移位后判断符号位,如果是负数,确立好符号之后将移位后的可调精度浮点数据采用补码表示;(BF6C)H符号为1,用18位的补码表示为(304A0)H。
上述转换过程中,还原出的定点整数为-64352,与-64356.352的误差为4.352,精度约为99.9932%。
本实施例中,对所述定点数据进行数据处理:将所述定点数据转换为半精度浮点数据并输出的具体过程可以参见以下具体实例:
在对单精度浮点数转换为可调精度浮点数据的过程中采用了乘以系数k的操作,因此实际定点运算是用原数值的k倍进行运算,当两个可调精度浮点数据进行一次乘法运算后,实际结果为原结果的k的平方倍,在FPGA内部数据运算的流程上需要对所有数值按统一的倍数进行运算,因此乘法运算后的结果需要除以k再进行后续的运算。
图4为定点运算过程示意图,神经网络中最常用的运算为乘法和加法,因此以Y=A×B+C为例,对前面所述的数据处理和运算过程进行了说明,数据均用十进制表示,可以看到在经过一次乘法和一次加法后定点运算结果保持了较高的准确度,和浮点运算结果相比误差较小。
定点运算后的中间结果需要存储到DDR之前同样需要进行定点数据到可调精度浮点数据的转换,以提升数据传输的效率以及方便再次读回FPGA时数据的统一处理。
定点运算的最终结果转换为单精度浮点数据输出,因此对于外部应用来说,实时运算时输入和输出的均为单精度浮点数,此浮点运算定点化方法对于采用单精度浮点数据的神经网络具有较强的兼容性。
系统结构的实施例
一种浮点运算定点化系统,如图2所示,包括:
第一转换模块1,用于根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;
第二转换模块2,用于计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;
第三转换模块3,用于待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。
所述第一转换模块1设置为:
所述可调精度浮点数据包括符号、指数和有效数;
所述可调精度浮点数据的指数的位宽和有效数的位宽随所述数值范围和所述精度要求的变化做相应调整。
所述第一转换模块1设置为:
所述将单精度浮点格式的参数数据转换为可调精度浮点数据的具体步骤包括:
单精度浮点数据定点化,将含有小数的单精度浮点数据乘以系数后转换为定点整数;
将转换后的定点整数表示为二进制数,并根据可调精度浮点数据有效数所支持的位宽对此二进制定点整数向右移位,移位后的数据即有效数,并根据移位的位数确定指数,将有效数添加上指数和符号位后即为可调精度浮点数据。
所述第二转换模块2设置为:
根据所述可调精度浮点数据的指数大小对所述可调精度浮点数据的有效数向左移位,移位的位数由指数确定;
移位后判断符号位,如果是负数将移位后的数据采用补码表示。
所述第一转换模块1设置为:
将神经网络模型训练好的参数数据进行归纳分析,确定参数数据的最大值和最小值,并对神经网络模型中的单精度浮点格式数据进行模拟计算得到计算结果,根据计算结果确定数值范围以及计算的精度要求,为可调精度浮点数据转换过程中的指数和有效数的调整提供依据。
具体神经网络框架图,如图5所示,图5为采用浮点运算定点化方法的神经网络运算结构框图,输入的图像数据和分类识别结果均采用了单精度浮点格式,无需额外的转换,可以较好地兼容目前采用单精度浮点数据的神经网络;网络模型参数由于预先已知,数据转换在上位机完成并提前下发至DDR存储,中间计算结果存储至DDR之前在FPGA或其它神经网络运算芯片内部完成数据转换,网络模型参数和中间计算结果由于采用了可调精度浮点格式,数据在FPGA或其它神经网络运算芯片和DDR之间的传输效率提升了一倍,并且在FPGA或其它神经网络运算芯片内存储时使用的资源降低了一半;在FPGA或其它神经网络运算芯片内部所有的数据转换处理均为实时转换,增加的处理时间相比于整个计算时间可忽略不计,内部运算时采用定点数据,从而使运算性能得到大幅提升。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (10)
1.一种浮点运算定点化方法,其特征在于包括以下步骤:
根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;
计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;
待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。
2.根据权利要求1所述的浮点运算定点化方法,其特征在于:所述可调精度浮点数据包括符号、指数和有效数;
所述可调精度浮点数据的指数的位宽和有效数的位宽随所述数值范围和所述精度要求的变化做相应调整。
3.根据权利要求2所述的浮点运算定点化方法,其特征在于:所述将单精度浮点格式的参数数据转换为可调精度浮点数据的具体步骤包括:
单精度浮点数据定点化,将含有小数的单精度浮点数据乘以系数后转换为定点整数;
将转换后的定点整数表示为二进制数,并根据可调精度浮点数据有效数所支持的位宽对此二进制定点整数向右移位,移位后的数据即有效数,并根据移位的位数确定指数,将有效数添加上指数和符号位后即为可调精度浮点数据。
4.根据权利要求2所述的浮点运算定点化方法,其特征在于:所述将所述可调精度浮点数据转换为定点数据的具体步骤包括:
根据所述可调精度浮点数据的指数大小对所述可调精度浮点数据的有效数向左移位,移位的位数由指数确定;
移位后判断符号位,如果是负数将移位后的数据采用补码表示。
5.根据权利要求1所述的浮点运算定点化方法,其特征在于:所述根据预设的数值范围以及计算的精度需求的具体设置过程为:
将神经网络模型训练好的参数数据进行归纳分析,确定参数数据的最大值和最小值,并对神经网络模型中的单精度浮点格式数据进行模拟计算得到计算结果,根据计算结果确定数值范围以及计算的精度要求,为可调精度浮点数据转换过程中的指数和有效数的调整提供依据。
6.一种浮点运算定点化系统,其特征在于包括:
第一转换模块,用于根据预设的数值范围以及计算的精度需求,调整可调精度浮点数据的指数和有效位,预先将单精度浮点格式的参数数据转换为可调精度浮点数据;
第二转换模块,用于计算时将所述可调精度浮点数据转换为定点数据并用于计算,并将计算产生的中间结果转换为可调精度浮点数据;
第三转换模块,用于待全部计算完成后产生最终结果,将最终结果转换为单精度浮点格式数据。
7.根据权利要求6所述的浮点运算定点化系统,其特征在于:所述第一转换模块设置为:
所述可调精度浮点数据包括符号、指数和有效数;
所述可调精度浮点数据的指数的位宽和有效数的位宽随所述数值范围和所述精度要求的变化做相应调整。
8.根据权利要求7所述的浮点运算定点化系统,其特征在于:
所述第一转换模块设置为:
所述将单精度浮点格式的参数数据转换为可调精度浮点数据的具体步骤包括:
单精度浮点数据定点化,将含有小数的单精度浮点数据乘以系数后转换为定点整数;
将转换后的定点整数表示为二进制数,并根据可调精度浮点数据有效数所支持的位宽对此二进制定点整数向右移位,移位后的数据即有效数,并根据移位的位数确定指数,将有效数添加上指数和符号位后即为可调精度浮点数据。
9.根据权利要求7所述的浮点运算定点化系统,其特征在于:所述第二转换模块设置为:
根据所述可调精度浮点数据的指数大小对所述可调精度浮点数据的有效数向左移位,移位的位数由指数确定;
移位后判断符号位,如果是负数将移位后的数据采用补码表示。
10.根据权利要求6所述的浮点运算定点化系统,其特征在于:所述第一转换模块设置为:
将神经网络模型训练好的参数数据进行归纳分析,确定参数数据的最大值和最小值,并对神经网络模型中的单精度浮点格式数据进行模拟计算得到计算结果,根据计算结果确定数值范围以及计算的精度要求,为可调精度浮点数据转换过程中的指数和有效数的调整提供依据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710606500.3A CN107451658B (zh) | 2017-07-24 | 2017-07-24 | 浮点运算定点化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710606500.3A CN107451658B (zh) | 2017-07-24 | 2017-07-24 | 浮点运算定点化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107451658A true CN107451658A (zh) | 2017-12-08 |
CN107451658B CN107451658B (zh) | 2020-12-15 |
Family
ID=60487512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710606500.3A Active CN107451658B (zh) | 2017-07-24 | 2017-07-24 | 浮点运算定点化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107451658B (zh) |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055041A (zh) * | 2017-12-22 | 2018-05-18 | 苏州中晟宏芯信息科技有限公司 | 一种数据类型转换电路单元及装置 |
CN108053028A (zh) * | 2017-12-21 | 2018-05-18 | 深圳云天励飞技术有限公司 | 数据定点化处理方法、装置、电子设备及计算机存储介质 |
CN108875922A (zh) * | 2018-02-02 | 2018-11-23 | 北京旷视科技有限公司 | 存储方法、装置、系统及介质 |
CN109583581A (zh) * | 2018-11-30 | 2019-04-05 | 上海寒武纪信息科技有限公司 | 数据转换装置及相关产品 |
CN109697083A (zh) * | 2018-12-27 | 2019-04-30 | 深圳云天励飞技术有限公司 | 数据的定点化加速方法、装置、电子设备及存储介质 |
CN109961136A (zh) * | 2017-12-14 | 2019-07-02 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109960673A (zh) * | 2017-12-14 | 2019-07-02 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN110069240A (zh) * | 2019-04-30 | 2019-07-30 | 北京探境科技有限公司 | 定点与浮点数据计算方法及装置 |
WO2019157812A1 (zh) * | 2018-02-13 | 2019-08-22 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
CN110163356A (zh) * | 2018-02-13 | 2019-08-23 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
CN110389746A (zh) * | 2019-07-29 | 2019-10-29 | 中国电子科技集团公司第二十四研究所 | 硬件加速电路、微控制芯片及系统 |
CN110457068A (zh) * | 2018-05-07 | 2019-11-15 | 国际商业机器公司 | 用于深度学习加速的非常低精度浮点表示 |
CN110600019A (zh) * | 2019-09-12 | 2019-12-20 | 东南大学 | 基于实时场景下语音信噪比预分级的卷积神经网络计算电路 |
CN110825323A (zh) * | 2019-10-25 | 2020-02-21 | 上海钒兆钛智能科技有限公司 | 浮点数数据的存储、读取方法和计算机可读存储介质 |
CN111047021A (zh) * | 2018-10-12 | 2020-04-21 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
CN111047022A (zh) * | 2018-10-12 | 2020-04-21 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
US10656913B2 (en) | 2018-06-05 | 2020-05-19 | International Business Machines Corporation | Enhanced low precision binary floating-point formatting |
CN111310909A (zh) * | 2020-02-24 | 2020-06-19 | 南京大学 | 一种浮点数转换电路 |
CN111338600A (zh) * | 2018-12-18 | 2020-06-26 | 富士通株式会社 | 计算处理设备和控制计算处理设备的方法 |
CN111401516A (zh) * | 2020-02-21 | 2020-07-10 | 华为技术有限公司 | 一种神经网络通道参数的搜索方法及相关设备 |
CN112702600A (zh) * | 2020-12-29 | 2021-04-23 | 南京大学 | 一种图像编解码神经网络分层定点化方法 |
CN112836806A (zh) * | 2021-02-26 | 2021-05-25 | 上海阵量智能科技有限公司 | 一种数据格式调整方法、装置、计算机设备和存储介质 |
US11106598B2 (en) | 2018-02-13 | 2021-08-31 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
CN113343949A (zh) * | 2021-08-03 | 2021-09-03 | 中国航空油料集团有限公司 | 一种通用的嵌入式平台的行人检测模型训练方法 |
CN113593538A (zh) * | 2021-09-02 | 2021-11-02 | 北京声智科技有限公司 | 语音特征的分类方法、相关设备及可读存储介质 |
US11169803B2 (en) | 2018-02-13 | 2021-11-09 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
US11442785B2 (en) | 2018-05-18 | 2022-09-13 | Shanghai Cambricon Information Technology Co., Ltd | Computation method and product thereof |
CN115291834A (zh) * | 2022-07-07 | 2022-11-04 | 华东师范大学 | N进制浮点加法运算系统与方法 |
US11513586B2 (en) | 2018-02-14 | 2022-11-29 | Shanghai Cambricon Information Technology Co., Ltd | Control device, method and equipment for processor |
US11544059B2 (en) | 2018-12-28 | 2023-01-03 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Signal processing device, signal processing method and related products |
US11620105B2 (en) | 2019-02-06 | 2023-04-04 | International Business Machines Corporation | Hybrid floating point representation for deep learning acceleration |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11675676B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11703939B2 (en) | 2018-09-28 | 2023-07-18 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device and related products |
US11762690B2 (en) | 2019-04-18 | 2023-09-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11966583B2 (en) | 2018-08-28 | 2024-04-23 | Cambricon Technologies Corporation Limited | Data pre-processing method and device, and related computer device and storage medium |
CN111401516B (zh) * | 2020-02-21 | 2024-04-26 | 华为云计算技术有限公司 | 一种神经网络通道参数的搜索方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471077A (zh) * | 2002-06-20 | 2004-01-28 | ���µ�����ҵ��ʽ���� | 浮点存储方法及浮点运算装置 |
US20070283311A1 (en) * | 2006-05-30 | 2007-12-06 | Theodore Karoubalis | Method and system for dynamic reconfiguration of field programmable gate arrays |
CN102622207A (zh) * | 2011-01-30 | 2012-08-01 | 中兴通讯股份有限公司 | 定点化处理方法及装置 |
CN104166535A (zh) * | 2013-07-19 | 2014-11-26 | 郑州宇通客车股份有限公司 | 定点处理器及其防溢方法 |
CN104461459A (zh) * | 2013-09-23 | 2015-03-25 | 富士通株式会社 | 定点化处理方法及其装置 |
CN105760933A (zh) * | 2016-02-18 | 2016-07-13 | 清华大学 | 卷积神经网络的逐层变精度定点化方法及装置 |
-
2017
- 2017-07-24 CN CN201710606500.3A patent/CN107451658B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471077A (zh) * | 2002-06-20 | 2004-01-28 | ���µ�����ҵ��ʽ���� | 浮点存储方法及浮点运算装置 |
US20070283311A1 (en) * | 2006-05-30 | 2007-12-06 | Theodore Karoubalis | Method and system for dynamic reconfiguration of field programmable gate arrays |
CN102622207A (zh) * | 2011-01-30 | 2012-08-01 | 中兴通讯股份有限公司 | 定点化处理方法及装置 |
CN104166535A (zh) * | 2013-07-19 | 2014-11-26 | 郑州宇通客车股份有限公司 | 定点处理器及其防溢方法 |
CN104461459A (zh) * | 2013-09-23 | 2015-03-25 | 富士通株式会社 | 定点化处理方法及其装置 |
CN105760933A (zh) * | 2016-02-18 | 2016-07-13 | 清华大学 | 卷积神经网络的逐层变精度定点化方法及装置 |
Cited By (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
CN109960673B (zh) * | 2017-12-14 | 2020-02-18 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN109961136A (zh) * | 2017-12-14 | 2019-07-02 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109960673A (zh) * | 2017-12-14 | 2019-07-02 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN108053028A (zh) * | 2017-12-21 | 2018-05-18 | 深圳云天励飞技术有限公司 | 数据定点化处理方法、装置、电子设备及计算机存储介质 |
CN108053028B (zh) * | 2017-12-21 | 2021-09-14 | 深圳励飞科技有限公司 | 数据定点化处理方法、装置、电子设备及计算机存储介质 |
CN108055041A (zh) * | 2017-12-22 | 2018-05-18 | 苏州中晟宏芯信息科技有限公司 | 一种数据类型转换电路单元及装置 |
CN108055041B (zh) * | 2017-12-22 | 2021-06-29 | 苏州中晟宏芯信息科技有限公司 | 一种数据类型转换电路单元及装置 |
CN108875922A (zh) * | 2018-02-02 | 2018-11-23 | 北京旷视科技有限公司 | 存储方法、装置、系统及介质 |
CN108875922B (zh) * | 2018-02-02 | 2022-06-10 | 北京旷视科技有限公司 | 存储方法、装置、系统及介质 |
US11663002B2 (en) | 2018-02-13 | 2023-05-30 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
KR102354722B1 (ko) | 2018-02-13 | 2022-01-21 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
CN110163359A (zh) * | 2018-02-13 | 2019-08-23 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
KR20190107091A (ko) * | 2018-02-13 | 2019-09-18 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
KR20190107766A (ko) * | 2018-02-13 | 2019-09-20 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
US11609760B2 (en) | 2018-02-13 | 2023-03-21 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
TWI795519B (zh) * | 2018-02-13 | 2023-03-11 | 大陸商上海寒武紀信息科技有限公司 | 計算裝置、機器學習運算裝置、組合處理裝置、神經網絡芯片、電子設備、板卡及執行機器學習計算的方法 |
TWI827432B (zh) * | 2018-02-13 | 2023-12-21 | 大陸商上海寒武紀信息科技有限公司 | 計算裝置、機器學習運算裝置、組合處理裝置、神經網絡芯片、電子設備、板卡、及計算方法 |
CN110163357A (zh) * | 2018-02-13 | 2019-08-23 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
US11507370B2 (en) | 2018-02-13 | 2022-11-22 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Method and device for dynamically adjusting decimal point positions in neural network computations |
US11397579B2 (en) | 2018-02-13 | 2022-07-26 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN110163362A (zh) * | 2018-02-13 | 2019-08-23 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
US11620130B2 (en) | 2018-02-13 | 2023-04-04 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
KR102354720B1 (ko) | 2018-02-13 | 2022-01-21 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
US11169803B2 (en) | 2018-02-13 | 2021-11-09 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
WO2019157812A1 (zh) * | 2018-02-13 | 2019-08-22 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
KR102148110B1 (ko) * | 2018-02-13 | 2020-08-25 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
KR20200110153A (ko) * | 2018-02-13 | 2020-09-23 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
KR20200110151A (ko) * | 2018-02-13 | 2020-09-23 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
KR20200110152A (ko) * | 2018-02-13 | 2020-09-23 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
CN110163356B (zh) * | 2018-02-13 | 2020-10-09 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
CN110163362B (zh) * | 2018-02-13 | 2020-12-11 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
CN110163359B (zh) * | 2018-02-13 | 2020-12-11 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
US11740898B2 (en) | 2018-02-13 | 2023-08-29 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11720357B2 (en) | 2018-02-13 | 2023-08-08 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
KR102252137B1 (ko) | 2018-02-13 | 2021-05-13 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
US11709672B2 (en) | 2018-02-13 | 2023-07-25 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN110163356A (zh) * | 2018-02-13 | 2019-08-23 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
KR102354718B1 (ko) | 2018-02-13 | 2022-01-21 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
US11106598B2 (en) | 2018-02-13 | 2021-08-31 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
US11704125B2 (en) | 2018-02-13 | 2023-07-18 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Computing device and method |
US11513586B2 (en) | 2018-02-14 | 2022-11-29 | Shanghai Cambricon Information Technology Co., Ltd | Control device, method and equipment for processor |
CN110457068B (zh) * | 2018-05-07 | 2023-03-14 | 国际商业机器公司 | 用于深度学习加速的非常低精度浮点表示 |
CN110457068A (zh) * | 2018-05-07 | 2019-11-15 | 国际商业机器公司 | 用于深度学习加速的非常低精度浮点表示 |
US11442785B2 (en) | 2018-05-18 | 2022-09-13 | Shanghai Cambricon Information Technology Co., Ltd | Computation method and product thereof |
US11442786B2 (en) | 2018-05-18 | 2022-09-13 | Shanghai Cambricon Information Technology Co., Ltd | Computation method and product thereof |
US11775257B2 (en) | 2018-06-05 | 2023-10-03 | International Business Machines Corporation | Enhanced low precision binary floating-point formatting |
US10656913B2 (en) | 2018-06-05 | 2020-05-19 | International Business Machines Corporation | Enhanced low precision binary floating-point formatting |
US11966583B2 (en) | 2018-08-28 | 2024-04-23 | Cambricon Technologies Corporation Limited | Data pre-processing method and device, and related computer device and storage medium |
US11703939B2 (en) | 2018-09-28 | 2023-07-18 | Shanghai Cambricon Information Technology Co., Ltd | Signal processing device and related products |
CN111047021B (zh) * | 2018-10-12 | 2023-11-24 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
CN111047021A (zh) * | 2018-10-12 | 2020-04-21 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
CN111047022A (zh) * | 2018-10-12 | 2020-04-21 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
CN111047022B (zh) * | 2018-10-12 | 2023-11-24 | 中科寒武纪科技股份有限公司 | 一种计算装置及相关产品 |
CN109583581B (zh) * | 2018-11-30 | 2021-07-09 | 上海寒武纪信息科技有限公司 | 数据转换装置及相关产品 |
CN109583581A (zh) * | 2018-11-30 | 2019-04-05 | 上海寒武纪信息科技有限公司 | 数据转换装置及相关产品 |
CN111338600A (zh) * | 2018-12-18 | 2020-06-26 | 富士通株式会社 | 计算处理设备和控制计算处理设备的方法 |
CN109697083A (zh) * | 2018-12-27 | 2019-04-30 | 深圳云天励飞技术有限公司 | 数据的定点化加速方法、装置、电子设备及存储介质 |
WO2020134547A1 (zh) * | 2018-12-27 | 2020-07-02 | 深圳云天励飞技术有限公司 | 数据的定点化加速方法、装置、电子设备及存储介质 |
US11544059B2 (en) | 2018-12-28 | 2023-01-03 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Signal processing device, signal processing method and related products |
US11620105B2 (en) | 2019-02-06 | 2023-04-04 | International Business Machines Corporation | Hybrid floating point representation for deep learning acceleration |
US11762690B2 (en) | 2019-04-18 | 2023-09-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11934940B2 (en) | 2019-04-18 | 2024-03-19 | Cambricon Technologies Corporation Limited | AI processor simulation |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
CN110069240A (zh) * | 2019-04-30 | 2019-07-30 | 北京探境科技有限公司 | 定点与浮点数据计算方法及装置 |
CN110069240B (zh) * | 2019-04-30 | 2021-09-03 | 北京探境科技有限公司 | 定点与浮点数据计算方法及装置 |
US11675676B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11676028B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
CN110389746B (zh) * | 2019-07-29 | 2021-04-23 | 中国电子科技集团公司第二十四研究所 | 硬件加速电路、微控制芯片及系统 |
CN110389746A (zh) * | 2019-07-29 | 2019-10-29 | 中国电子科技集团公司第二十四研究所 | 硬件加速电路、微控制芯片及系统 |
CN110600019A (zh) * | 2019-09-12 | 2019-12-20 | 东南大学 | 基于实时场景下语音信噪比预分级的卷积神经网络计算电路 |
CN110600019B (zh) * | 2019-09-12 | 2022-02-15 | 东南大学 | 基于实时场景下语音信噪比预分级的卷积神经网络计算电路 |
CN110825323A (zh) * | 2019-10-25 | 2020-02-21 | 上海钒兆钛智能科技有限公司 | 浮点数数据的存储、读取方法和计算机可读存储介质 |
CN110825323B (zh) * | 2019-10-25 | 2023-04-11 | 上海钒钛智能科技有限公司 | 浮点数数据的存储、读取方法和计算机可读存储介质 |
CN111401516B (zh) * | 2020-02-21 | 2024-04-26 | 华为云计算技术有限公司 | 一种神经网络通道参数的搜索方法及相关设备 |
CN111401516A (zh) * | 2020-02-21 | 2020-07-10 | 华为技术有限公司 | 一种神经网络通道参数的搜索方法及相关设备 |
CN111310909A (zh) * | 2020-02-24 | 2020-06-19 | 南京大学 | 一种浮点数转换电路 |
CN111310909B (zh) * | 2020-02-24 | 2024-02-13 | 南京大学 | 一种浮点数转换电路 |
CN112702600A (zh) * | 2020-12-29 | 2021-04-23 | 南京大学 | 一种图像编解码神经网络分层定点化方法 |
CN112836806A (zh) * | 2021-02-26 | 2021-05-25 | 上海阵量智能科技有限公司 | 一种数据格式调整方法、装置、计算机设备和存储介质 |
CN112836806B (zh) * | 2021-02-26 | 2023-12-22 | 上海阵量智能科技有限公司 | 一种数据格式调整方法、装置、计算机设备和存储介质 |
CN113343949A (zh) * | 2021-08-03 | 2021-09-03 | 中国航空油料集团有限公司 | 一种通用的嵌入式平台的行人检测模型训练方法 |
CN113593538A (zh) * | 2021-09-02 | 2021-11-02 | 北京声智科技有限公司 | 语音特征的分类方法、相关设备及可读存储介质 |
CN113593538B (zh) * | 2021-09-02 | 2024-05-03 | 北京声智科技有限公司 | 语音特征的分类方法、相关设备及可读存储介质 |
CN115291834A (zh) * | 2022-07-07 | 2022-11-04 | 华东师范大学 | N进制浮点加法运算系统与方法 |
CN115291834B (zh) * | 2022-07-07 | 2023-08-22 | 华东师范大学 | N进制浮点加法运算系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107451658B (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451658A (zh) | 浮点运算定点化方法及系统 | |
CN110378468B (zh) | 一种基于结构化剪枝和低比特量化的神经网络加速器 | |
Zafrir et al. | Q8bert: Quantized 8bit bert | |
CN107423816B (zh) | 一种多计算精度神经网络处理方法和系统 | |
US11449729B2 (en) | Efficient convolutional neural networks | |
JP7325158B2 (ja) | ニューラル・ネットワーク・コアにおける動的精度のためのデータ表現 | |
US20180322391A1 (en) | Loss-scaling for deep neural network training with reduced precision | |
US11797855B2 (en) | System and method of accelerating execution of a neural network | |
CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
US20210350204A1 (en) | Convolutional neural network accelerator | |
CN107578095A (zh) | 神经网络计算装置及包含该计算装置的处理器 | |
CN106951962A (zh) | 用于神经网络的复合运算单元、方法和电子设备 | |
CN110390383A (zh) | 一种基于幂指数量化的深度神经网络硬件加速器 | |
CN107944545B (zh) | 应用于神经网络的计算方法及计算装置 | |
CN111062472A (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
CN110008952B (zh) | 一种目标识别方法及设备 | |
KR102214837B1 (ko) | 컨벌루션 신경망 파라미터 최적화 방법, 컨벌루션 신경망 연산방법 및 그 장치 | |
US20220164663A1 (en) | Activation Compression Method for Deep Learning Acceleration | |
CN110309906A (zh) | 图像处理方法、装置、机器可读存储介质及处理器 | |
KR20190089685A (ko) | 데이터를 처리하는 방법 및 장치 | |
CN116644804A (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
CN108256632A (zh) | 信息处理方法和装置 | |
CN116187401B (zh) | 神经网络的压缩方法、装置、电子设备及存储介质 | |
CN109389209A (zh) | 处理装置及处理方法 | |
CN111930670B (zh) | 异构智能处理量化装置、量化方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |